- 簡介
- 創建一個簡單的任務(helloworld)
- 簡單的任務代碼分析
2、helloworld.c代碼分析
#include "contiki.h"
#include <stdio.h>
/*---------------------------------------------------------------------------*/
PROCESS(hello_world_process, "Hello world process");
AUTOSTART_PROCESSES(&hello_world_process); //創建自啓動的任務
/*---------------------------------------------------------------------------*/
PROCESS_THREAD(hello_world_process, ev, data)
{
PROCESS_BEGIN();
//1、初始化部分,比如網絡部分,加速度芯片等
//2、啓動一些任務等process_start(&tcpip_process, NULL);
//3、這個是自己的工程裏面真正的開始幹活的內容.實現自己的業務邏輯
//4、led、acc、i2c、spi、uart、light、temp、beep、gprs、gps等真正幹活的
While(1)
{
printf("Hello, world\n");
}
PROCESS_END();
}
啓動上述的helloworld還需要在main函數中添加如下內容,main函數主要用來開始
- 初始化芯片部分的內容
- 初始化時鐘
- 控制檯部分
- 調用自啓動任務
- 輪詢任務鏈表中的任務。
int main()
{
Stm32_init();
Clock_init();
Console();
Watchdog();
Fifo_init();
Process_init();
Ctime_inti();
autostart_start(autostart_processes); //調用自啓動的任務
while(1)
{
do
{
}
while(process_run() > 0);//不停的循環任務
}
}