找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7601|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

stm32f103c8t6 FreeRTOS例程 串口和閃燈源碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:233090 發(fā)表于 2018-10-26 10:01 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
stm32f103c8t6  FreeRTOS例程 串口和閃燈.
PC13閃爍,串口打印數(shù)據(jù)。
使用編譯環(huán)境:MDK4.72A  IAR6.30
使用硬件環(huán)境:所有STM32F103xxx硬件系統(tǒng)
使用函數(shù)庫(kù)版本:STM32F10x_StdPeriph_Driver V3.50
工程概要:PC13延時(shí)閃亮
調(diào)試方式:ST-Link  SW  

單片機(jī)源程序如下:
  1. //頭文件
  2. #include "stm32f10x.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "FreeRTOS.h"
  6. #include "task.h"
  7. #include "led.h"
  8. #include <stdio.h>


  9. //任務(wù)優(yōu)先級(jí)
  10. #define START_TASK_PRIO                1
  11. //任務(wù)堆棧大小
  12. #define START_STK_SIZE                 128  
  13. //任務(wù)句柄
  14. TaskHandle_t StartTask_Handler;
  15. //任務(wù)函數(shù)
  16. void start_task(void *pvParameters);

  17. //任務(wù)優(yōu)先級(jí)
  18. #define LED0_TASK_PRIO                2
  19. //任務(wù)堆棧大小
  20. #define LED0_STK_SIZE                 50  
  21. //任務(wù)句柄
  22. TaskHandle_t LED0Task_Handler;
  23. //任務(wù)函數(shù)
  24. void led0_task(void *pvParameters);

  25. //任務(wù)優(yōu)先級(jí)
  26. #define UART1_TASK_PRIO                3
  27. //任務(wù)堆棧大小
  28. #define UART1_STK_SIZE                 50  
  29. //任務(wù)句柄
  30. TaskHandle_t UART1Task_Handler;
  31. //任務(wù)函數(shù)
  32. void uart1_task(void *pvParameters);

  33. int main(void)
  34. {
  35.         SystemInit();
  36.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//設(shè)置系統(tǒng)中斷優(yōu)先級(jí)分組4         
  37.         USART1_Config();                                        //初始化串口
  38.         LED_GPIO_Config();                                  //初始化LED
  39.          
  40.         //創(chuàng)建開(kāi)始任務(wù)
  41.     xTaskCreate((TaskFunction_t )start_task,            //任務(wù)函數(shù)
  42.                 (const char*    )"start_task",          //任務(wù)名稱(chēng)
  43.                 (uint16_t       )START_STK_SIZE,        //任務(wù)堆棧大小
  44.                 (void*          )NULL,                  //傳遞給任務(wù)函數(shù)的參數(shù)
  45.                 (UBaseType_t    )START_TASK_PRIO,       //任務(wù)優(yōu)先級(jí)
  46.                 (TaskHandle_t*  )&StartTask_Handler);   //任務(wù)句柄              
  47.     vTaskStartScheduler();          //開(kāi)啟任務(wù)調(diào)度
  48. }

  49. //開(kāi)始任務(wù)任務(wù)函數(shù)
  50. void start_task(void *pvParameters)
  51. {
  52.     taskENTER_CRITICAL();           //進(jìn)入臨界區(qū)
  53.     //創(chuàng)建LED0任務(wù)
  54.     xTaskCreate((TaskFunction_t )led0_task,            
  55.                 (const char*    )"led0_task",           
  56.                 (uint16_t       )LED0_STK_SIZE,
  57.                 (void*          )NULL,                                
  58.                 (UBaseType_t    )LED0_TASK_PRIO,        
  59.                 (TaskHandle_t*  )&LED0Task_Handler);   
  60.     //創(chuàng)建Uart任務(wù)
  61.     xTaskCreate((TaskFunction_t )uart1_task,     
  62.                 (const char*    )"uart1_task",   
  63.                 (uint16_t       )UART1_STK_SIZE,
  64.                 (void*          )NULL,
  65.                 (UBaseType_t    )UART1_TASK_PRIO,
  66.                 (TaskHandle_t*  )&UART1Task_Handler);         
  67.     vTaskDelete(StartTask_Handler); //刪除開(kāi)始任務(wù)
  68.     taskEXIT_CRITICAL();            //退出臨界區(qū)
  69. }

  70. //LED0任務(wù)函數(shù)
  71. void led0_task(void *pvParameters)
  72. {
  73.     while(1)
  74.     {
  75.                                 LED0_ON;
  76.         vTaskDelay(500);
  77.                                 LED0_OFF;
  78.                                 vTaskDelay(500);
  79.                 }
  80. }   

  81. //uart1任務(wù)函數(shù)
  82. void uart1_task(void *pvParameters)
  83. {
  84.     while(1)
  85.     {
  86.                                 LED1_ON;
  87.                                 printf("Hello\r\n");
  88.         vTaskDelay(800);
  89.     }
  90. }
復(fù)制代碼

所有資料51hei提供下載:
STM32F103C8T6核心板測(cè)試程序(RTC).rar (670.86 KB, 下載次數(shù): 339)




評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏8 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:598238 發(fā)表于 2019-8-9 10:44 | 只看該作者
本帖最后由 elkite 于 2019-8-9 13:42 編輯

例程運(yùn)行正常,大家可以下載參考。
回復(fù)

使用道具 舉報(bào)

板凳
ID:78947 發(fā)表于 2019-8-15 18:11 | 只看該作者
多謝分享
回復(fù)

使用道具 舉報(bào)

地板
ID:612124 發(fā)表于 2019-9-16 15:49 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

5#
ID:33544 發(fā)表于 2020-2-7 12:33 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

6#
ID:427451 發(fā)表于 2020-2-22 21:19 | 只看該作者
JTAG下載正常ST-LINK為什么會(huì)跳出程序?
回復(fù)

使用道具 舉報(bào)

7#
ID:814279 發(fā)表于 2020-8-14 21:55 | 只看該作者
支持一些,我的總是沒(méi)反應(yīng)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表