【1】PROCESS(blink_process,"Blink");相关于函数的声明 【2】AUTOSTART_PROCESSES(&blink_process);是指该任务自动启动,也可以调用process_start函数启动任务。 AUTOSTART_PROCESSES其实也是一个宏东定义: [cpp] view plaincopy
- #if ! CC_NO_VA_ARGS
- #if AUTOSTART_ENABLE
- #define AUTOSTART_PROCESSES(...) \
- struct process * const autostart_processes[]= {__VA_ARGS__, NULL}
- #else //AUTOSTART_ENABLE
- #define AUTOSTART_PROCESSES(...) \
- extern
int _dummy - #endif //AUTOSTART_ENABLE
- #else
- #error "C compiler must support __VA_ARGS__ macro"
- #endif
要想使用它的话,还需要添加AUTOSTART_ENABLE定义。#define AUTOSTART_ENABLE 1 最后请大家不要忘记LED相关IO口的初始化操作。请查看前文代码。 6.实验结果先给出contiki的IAR 工程目录和文件目录
再来一个头文件包含路径:
$PROJ_DIR$\CMSIS $PROJ_DIR$\StdPeriph_Driver\inc $PROJ_DIR$\User $PROJ_DIR$\contiki-2.5\core $PROJ_DIR$\contiki-2.5\core\sys $PROJ_DIR$\contiki-2.5\core\lib $PROJ_DIR$\contiki-2.5\cpu
【小技巧】 在编译文件的时候会发生一些莫名奇妙的警告,这个警告产生的原因是 linux的文件换行和window文件换行不同! 采用以下方法可以屏蔽这个警告,如下图所示:
如果移植顺利的话,就可以看到以下实验结果。
写到这里你会发现,contiki的移植还是非常简单的 |