keil下的Freertos多任務程式
- 1.手動移植FreeRtos(以STM32F103為例)
- 2.直接使用野火的模板
1.手動移植FreeRtos(以STM32F103為例)
用該鏈接下載FreeRtos原始碼
鏈接: 資料.
提取碼:pmf1

下載解壓后就得到了FreeRtos原始碼

把下載的檔案的FreeRTOSv9.0.0\FreeRTOS\Demo\CORTEX_STM32F103_Keil目錄下的FreeRTOSConfig.h放到source下

再將FreeRTOSv9.0.0\FreeRTOS\Source\portable\IAR目錄下的ARM_CM3復制到keil檔案中

然后隨意打開一個工程,進行移植,先添加檔案夾命名為FreeRtos

向FreeRtos中加源檔案

源檔案清單路徑如下:
FreeRTOS\Source\list.c
FreeRTOS\Source\tasks.c
FreeRTOS\Source\portable\Keil\ARM_CM3\port.c
FreeRTOS\Source\portable\MemMang\heap_4.c
FreeRTOS\Source\FreeRTOSConfig.h
添加完后如下圖:

再添加頭檔案路徑:

至此,就配置完成可以寫代碼了,
2.直接使用野火的模板
用上面給的鏈接直接下載野火的模板,
該處完成以下效果:
執行2個周期性task:
task1,每間隔500ms閃爍(變化)一次LED;
task2,每間隔2000ms,向串口發送一次指令資料“hello world!";
下載好的檔案解壓后打開第14個工程,動態創建多任務:

然后對main.c做一點簡單的修改,就可以完成以上功能了,
把static void LED2_Task()函式的內容改為以下就可以了
while (1)
{
printf("hello world!\n");
vTaskDelay(2000);
}

串口的效果圖如下:
同時小燈閃爍

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/229288.html
標籤:其他
