找回密码
 立即注册

QQ登录

只需一步,快速开始

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

stm32f103c8t6 FreeRTOS例程 串口和闪灯源码

  [复制链接]
跳转到指定楼层
楼主
stm32f103c8t6  FreeRTOS例程 串口和闪灯.
PC13闪烁,串口打印数据。
使用编译环境:MDK4.72A  IAR6.30
使用硬件环境:所有STM32F103xxx硬件系统
使用函数库版本:STM32F10x_StdPeriph_Driver V3.50
工程概要:PC13延时闪亮
调试方式:ST-Link  SW  

单片机源程序如下:
  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. //任务优先级
  10. #define START_TASK_PRIO                1
  11. //任务堆栈大小
  12. #define START_STK_SIZE                 128  
  13. //任务句柄
  14. TaskHandle_t StartTask_Handler;
  15. //任务函数
  16. void start_task(void *pvParameters);

  17. //任务优先级
  18. #define LED0_TASK_PRIO                2
  19. //任务堆栈大小
  20. #define LED0_STK_SIZE                 50  
  21. //任务句柄
  22. TaskHandle_t LED0Task_Handler;
  23. //任务函数
  24. void led0_task(void *pvParameters);

  25. //任务优先级
  26. #define UART1_TASK_PRIO                3
  27. //任务堆栈大小
  28. #define UART1_STK_SIZE                 50  
  29. //任务句柄
  30. TaskHandle_t UART1Task_Handler;
  31. //任务函数
  32. void uart1_task(void *pvParameters);

  33. int main(void)
  34. {
  35.         SystemInit();
  36.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//设置系统中断优先级分组4         
  37.         USART1_Config();                                        //初始化串口
  38.         LED_GPIO_Config();                                  //初始化LED
  39.          
  40.         //创建开始任务
  41.     xTaskCreate((TaskFunction_t )start_task,            //任务函数
  42.                 (const char*    )"start_task",          //任务名称
  43.                 (uint16_t       )START_STK_SIZE,        //任务堆栈大小
  44.                 (void*          )NULL,                  //传递给任务函数的参数
  45.                 (UBaseType_t    )START_TASK_PRIO,       //任务优先级
  46.                 (TaskHandle_t*  )&StartTask_Handler);   //任务句柄              
  47.     vTaskStartScheduler();          //开启任务调度
  48. }

  49. //开始任务任务函数
  50. void start_task(void *pvParameters)
  51. {
  52.     taskENTER_CRITICAL();           //进入临界区
  53.     //创建LED0任务
  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.     //创建Uart任务
  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); //删除开始任务
  68.     taskEXIT_CRITICAL();            //退出临界区
  69. }

  70. //LED0任务函数
  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任务函数
  82. void uart1_task(void *pvParameters)
  83. {
  84.     while(1)
  85.     {
  86.                                 LED1_ON;
  87.                                 printf("Hello\r\n");
  88.         vTaskDelay(800);
  89.     }
  90. }
复制代码

所有资料51hei提供下载:
STM32F103C8T6核心板测试程序(RTC).rar (670.86 KB, 下载次数: 330)




评分

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

查看全部评分

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

使用道具 举报

沙发
ID:598238 发表于 2019-8-9 10:44 | 只看该作者
本帖最后由 elkite 于 2019-8-9 13:42 编辑

例程运行正常,大家可以下载参考。
回复

使用道具 举报

板凳
ID:78947 发表于 2019-8-15 18:11 | 只看该作者
多谢分享
回复

使用道具 举报

地板
ID:612124 发表于 2019-9-16 15:49 | 只看该作者
谢谢楼主
回复

使用道具 举报

5#
ID:33544 发表于 2020-2-7 12:33 | 只看该作者
谢谢楼主
回复

使用道具 举报

6#
ID:427451 发表于 2020-2-22 21:19 | 只看该作者
JTAG下载正常ST-LINK为什么会跳出程序?
回复

使用道具 举报

7#
ID:814279 发表于 2020-8-14 21:55 | 只看该作者
支持一些,我的总是没反应
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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