找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1899|回复: 1
打印 上一主题 下一主题
收起左侧

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, 下载次数: 67)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:526087 发表于 2019-7-25 15:41 | 只看该作者
为什么下载到板子没用啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表