标题: STM32F10x FreeRTOS工程模板(源码下载) [打印本页]

作者: 829xuming    时间: 2018-12-20 17:11
标题: STM32F10x FreeRTOS工程模板(源码下载)


CORE:               启动文件
STM32F10x_Fwlib:   硬件外设   
USER:              主函数及其它
Project:           工程项目文件及其它输出的文件



STM32单片机源程序如下:
  1. #include "sys.h"
  2. #include "led.h"
  3. #include "delay.h"
  4. #include "usart.h"

  5. /*FreeRTOS头文件*/
  6. #include "FreeRTOS.h"
  7. #include "task.h"

  8. #define start_prio 1                                                                                //任务优先级
  9. #define start_size 128                                                                                //任务堆栈
  10. TaskHandle_t start_handle;                                                                        //任务句柄
  11. void start_task(void *pvParameters);                                                //任务申明

  12. #define led_prio 2
  13. #define led_size 50
  14. TaskHandle_t led_handle;
  15. void led_task(void * pvParameters);

  16. #define time_prio 3       
  17. #define time_size 50
  18. TaskHandle_t time_handle;
  19. void time_task(void * pvParameters);


  20. int main(void)
  21. {
  22.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);                        //设置系统中断优先级分组4         
  23.         delay_init();
  24.         uart_init(115200);
  25.         LED_Init();                                                                                                  //初始化LED
  26.         //创建任务
  27.     xTaskCreate(start_task,                                                             //任务函数
  28.                 "start_task",                                                           //任务名称
  29.                                 start_size,                                                                 //堆栈大小(字)
  30.                 NULL,                                                                                //传递给任务函数的参数
  31.                 start_prio,                                                                        //任务优先级
  32.                 &start_handle);                                                           //任务句柄

  33.     vTaskStartScheduler();          //开启任务调度
  34. }
  35. //开始任务
  36. void start_task(void * pvParameters)
  37. {
  38.         taskENTER_CRITICAL();           //进入临界区
  39.     //创建任务
  40.     xTaskCreate(led_task,            
  41.                 "led_task",           
  42.                 led_size,        
  43.                 NULL,                  
  44.                 led_prio,        
  45.                 &led_handle);   
  46.         xTaskCreate(time_task,
  47.                                 "time_task",
  48.                                 time_size,
  49.                                 NULL,
  50.                                 time_prio,
  51.                                 &time_handle);
  52.     vTaskDelete(start_handle); //删除开始任务
  53.     taskEXIT_CRITICAL();            //退出临界区
  54. }
  55. //呼吸灯
  56. void led_task(void * pvParameters)
  57. {
  58.         while(1)
  59.         {
  60.                 LED=!LED;
  61.                 vTaskDelay(200);
  62.         }
  63. }
  64. //开机时间
  65. void time_task(void * pvParameters)
  66. {
  67.         u16 x=0;
  68.         while(1)
  69.         {
  70.                 vTaskDelay(1000);
  71.                 printf("运行时间: %ds\n",x);
  72.         }
  73. }
复制代码

所有资料51hei提供下载:
STM32F10xFreeRTOS工程模板.7z (299.03 KB, 下载次数: 68)



作者: 生命花火    时间: 2019-7-25 15:41
为什么下载到板子没用啊




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1