|
圖像 1.jpg (62 KB, 下載次數(shù): 24)
下載附件
2018-12-20 17:02 上傳
CORE: 啟動(dòng)文件
STM32F10x_Fwlib: 硬件外設(shè)
USER: 主函數(shù)及其它
Project: 工程項(xiàng)目文件及其它輸出的文件
0.png (41.35 KB, 下載次數(shù): 27)
下載附件
2018-12-20 17:26 上傳
STM32單片機(jī)源程序如下:
- #include "sys.h"
- #include "led.h"
- #include "delay.h"
- #include "usart.h"
- /*FreeRTOS頭文件*/
- #include "FreeRTOS.h"
- #include "task.h"
- #define start_prio 1 //任務(wù)優(yōu)先級(jí)
- #define start_size 128 //任務(wù)堆棧
- TaskHandle_t start_handle; //任務(wù)句柄
- void start_task(void *pvParameters); //任務(wù)申明
- #define led_prio 2
- #define led_size 50
- TaskHandle_t led_handle;
- void led_task(void * pvParameters);
- #define time_prio 3
- #define time_size 50
- TaskHandle_t time_handle;
- void time_task(void * pvParameters);
- int main(void)
- {
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); //設(shè)置系統(tǒng)中斷優(yōu)先級(jí)分組4
- delay_init();
- uart_init(115200);
- LED_Init(); //初始化LED
- //創(chuàng)建任務(wù)
- xTaskCreate(start_task, //任務(wù)函數(shù)
- "start_task", //任務(wù)名稱
- start_size, //堆棧大小(字)
- NULL, //傳遞給任務(wù)函數(shù)的參數(shù)
- start_prio, //任務(wù)優(yōu)先級(jí)
- &start_handle); //任務(wù)句柄
- vTaskStartScheduler(); //開(kāi)啟任務(wù)調(diào)度
- }
- //開(kāi)始任務(wù)
- void start_task(void * pvParameters)
- {
- taskENTER_CRITICAL(); //進(jìn)入臨界區(qū)
- //創(chuàng)建任務(wù)
- xTaskCreate(led_task,
- "led_task",
- led_size,
- NULL,
- led_prio,
- &led_handle);
- xTaskCreate(time_task,
- "time_task",
- time_size,
- NULL,
- time_prio,
- &time_handle);
- vTaskDelete(start_handle); //刪除開(kāi)始任務(wù)
- taskEXIT_CRITICAL(); //退出臨界區(qū)
- }
- //呼吸燈
- void led_task(void * pvParameters)
- {
- while(1)
- {
- LED=!LED;
- vTaskDelay(200);
- }
- }
- //開(kāi)機(jī)時(shí)間
- void time_task(void * pvParameters)
- {
- u16 x=0;
- while(1)
- {
- vTaskDelay(1000);
- printf("運(yùn)行時(shí)間: %ds\n",x);
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
STM32F10xFreeRTOS工程模板.7z
(299.03 KB, 下載次數(shù): 68)
2018-12-20 17:27 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|