zoukankan      html  css  js  c++  java
  • 在contiki中应用

    ccontiki的移植,以后在写,主要是现在还没有看懂呢。。。

    拿到了芯片源码,如何添加一些新的功能呢.

    比如说添加LCD中显示个6666666.

    我们首先要参考,已写好的源码。我们来做参考.

    首先打开main.c

    前面的一些包含文件,先不用看,之后是debug、调试用的,也先不太用看.

    Global_Data_Type      global_data;   //这是一个全局结构体 ,定义了一个全局变量,global_data...

    AUTOSTART_PROCESSES(

                  &etimer_process,
                  &display_process,
                  &rtc_process,
                  &pulse_process,
                  &key_process,
                  &comir_rx_process,
                  &comnb_rx_process,
                  &led_process

                 )

    AUTOSTART_PROCESSES是一个宏定义....

    #define AUTOSTART_PROCESSES(...)
    struct process * const autostart_processes[] = {__VA_ARGS__, NULL}

    struct process这是一个结构体类型的指针数组..........................................很部复杂,可以进去一点一点的看,也是可以看懂的....但是没必要...

    我们就仿照着写就可以了...

    比如说:我们全工程查找一下led_process

    在base.c中有

    //根据宏定义,可以看出传入的是一个进程名字,和一个类似与解释字符的.这个只有不重复即可...

    PROCESS(led_process, "LED" );          //PROCESS这个也是一个宏定义:#define PROCESS(name, strname)  PROCESS_THREAD(name, ev, data); struct process name = { NULL, process_thread_##name }

    在此定义下面就会有

    进程函数:

    // LED闪烁进程
    PROCESS_THREAD(led_process, ev, data)
    {
    static struct etimer et;

    PROCESS_BEGIN();
    while(1)
    {
    ev = PROCESS_EVENT_NONE;
    PROCESS_WAIT_UNTIL(ev == PROCESS_EVENT_POLL);
    EventBit_Set(EventBit_Led);
    // DEBUG_PRINTF("led_process ");

    Led_PinOn();
    etimer_set(&et, 200);                                         //延时
    PROCESS_WAIT_UNTIL(etimer_expired(&et));
    Led_PinOff();

    EventBit_Reset(EventBit_Led);
    }
    PROCESS_END();
    }

    跳转EventBit_Led

    //系统事件定义:

    #define     EventBit_Led      6 // 警告事件:LED

    在base.h文件中有PROCESS_NAME(led_process); 宏定义,#define PROCESS_NAME(name) extern struct process name,一个声明函数...

    添加号这些:

    就可以运行进程了...

    process_poll(&led_Temp_process);

    就是这些内容,我们可以照着这些模仿就可以了...

    剩下的我们正常调试就 可以了.....

  • 相关阅读:
    Python 异常处理
    Python File(文件) 方法
    python 文件定位
    globals() 和 locals() 函数
    python dir()函数
    python from…import* 语句
    python from…import 语句
    Python 模块
    python 匿名函数
    python 函数参数
  • 原文地址:https://www.cnblogs.com/qq376142178/p/13345870.html
Copyright © 2011-2022 走看看