contiki系統代碼分析(二)

 

  1. 簡介
  1. 創建一個簡單的任務(helloworld)
  2. 簡單的任務代碼分析

 

 

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、這個是自己的工程裏面真正的開始幹活的內容.實現自己的業務邏輯

 //4ledacci2cspiuartlighttemp、beep、gprs、gps等真正幹活的

  While(1)

{

      printf("Hello, world\n");

}

 

  PROCESS_END();

}

 

啓動上述的helloworld還需要在main函數中添加如下內容,main函數主要用來開始

  1. 初始化芯片部分的內容
  2. 初始化時鐘
  3. 控制檯部分
  4. 調用自啓動任務
  5. 輪詢任務鏈表中的任務。

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);//不停的循環任務

     }

}

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章