久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

調用freertosAPI函數的一些注意事項 IAR

作者:未知   來源:布冬冬 的空間   點擊數:  更新時間:2014年08月16日   【字體:

 

 
 
1. 將啟動匯編文件中的      替換
 
        DCD     vPortSVCHandler  //內核SVC中斷
        DCD     DebugMon_Handler
       ;  DCD     SVC_Handler
       ; DCD     DebugMon_Handler
 
        DCD     xPortPendSVHandler   //內核PendSV中斷
        DCD     xPortSysTickHandler   //內核SysTick中斷
       ; DCD     PendSV_Handler
       ; DCD     SysTick_Handler
 
2. main函數中,在main函數的最后定義一個while(1);死循環。
 
   先是創建任務,然后是啟動任務調度函數。
 
   xTaskCreate( vIntegerGenerator, "IntGen", 200, NULL, 1, NULL);
   xTaskCreate( vStringPrinter, "String", 200, NULL, 2, NULL);
   vTaskStartScheduler();
 
3. 創建信號量時,首先應在main函數之前定義一下全局變量
 
xQueueHandle   xIntegerQueue;
xQueueHandle   xStringQueue;
 
4. 一些初始化的東西最好在main函數里面先初始化好,如GPIO的選擇、方向以及定時器的初始化。
 
   如果定時器的初始化放在任務里面,有可能導致定時器無法正常工作。因為任務在循環執行,可能定時器還沒到定時時間,就又被重新初始化了。
 
5. 加庫文件stdio.h,執行printf語句,可在IO終端里面查看。
 
6. 在任務函數里面,定義變量放在for循環外面,其他放在for循環里面。
 
 
static void vStringPrinter( void *pvParameters )
{
  char *pcString;
  for(;;)
  {
    xQueueReceive( xStringQueue, &pcString, portMAX_DELAY);
    printf(pcString);
  }
}
 
7. 如果任務遇到中斷,需要強制上下文切換。中斷里面用的上下文切換是taskYIELD();而不是vTaskSwitchContext 里面有了個PendSV中斷。
 
關閉窗口

相關文章

主站蜘蛛池模板: 免费网站观看www在线观看 | 成人福利在线 | www.黄色| 日韩黄色小视频 | 免费毛片视频 | 国产精品午夜视频 | 91亚洲一区 | 曰本一级片 | 国产欧美另类 | 日本www在线观看 | 久久精品国产一区二区 | 神马午夜嘿嘿 | 四虎视频在线观看 | 国产盗摄视频 | 国产黄色大片 | 精品第一页 | 午夜精品999| 午夜影院在线观看 | 四虎影音 | 成人免费黄色大片 | 成人三级在线观看 | av黄色在线观看 | 日韩1级片 | 天堂网久久 | 国产日韩欧美 | 欧美成人高清 | 久久在线精品 | 国产精品麻豆免费版 | 黄色一级大片在线免费看国产一 | 久久性生活视频 | 久久亚洲国产精品 | 欧美www | 国产精品免费一区二区三区 | 久久久久久九九九九 | 国产又粗又猛又黄又爽无遮挡 | 日韩精品一区二区在线 | 国产精品二区一区二区aⅴ污介绍 | 在线视频日本 | 日韩一区二区在线观看视频 | 欧美在线视频免费 | 自拍偷拍欧美日韩 |