找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3812|回复: 0
收起左侧

STM32F103C8T6 FreeRTOS V10.1.1源码下载

[复制链接]
ID:138450 发表于 2018-9-11 15:13 | 显示全部楼层 |阅读模式
STM32F103C8T6  上移植的最新  FreeRTOS V10.1.1

单片机源程序如下:
  1. #include "FreeRTOS.h"
  2. #include "task.h"
  3. #include "main.h"

  4. #define LED_Port  GPIOC
  5. #define LED_RCC          RCC_APB2Periph_GPIOC
  6. #define LED_Pin   GPIO_Pin_13
  7. #define LED0 PCout(13)

  8. /*******************************************************************************
  9. * ? ? ?         : delay_ms
  10. * ????           : ????,??ms
  11. * ?    ?         : i
  12. * ?    ?         : ?
  13. *******************************************************************************/
  14. void delay_ms(u32 i)
  15. {
  16.     u32 temp;
  17.     SysTick->LOAD=9000*i;      //??????, 72MHZ?
  18.     SysTick->CTRL=0X01;        //??,???????,???????
  19.     SysTick->VAL=0;            //?????
  20.     do
  21.     {
  22.         temp=SysTick->CTRL;       //????????
  23.     }
  24.     while((temp&0x01)&&(!(temp&(1<<16))));    //??????
  25.     SysTick->CTRL=0;    //?????
  26.     SysTick->VAL=0;        //?????
  27. }
  28. void LED_Init(void)
  29. {
  30.         GPIO_InitTypeDef LED_GPIO;
  31.        
  32.         RCC_APB2PeriphClockCmd(LED_RCC,ENABLE);
  33.        
  34.         LED_GPIO.GPIO_Mode = GPIO_Mode_Out_PP;
  35.         LED_GPIO.GPIO_Pin = LED_Pin;
  36.         LED_GPIO.GPIO_Speed = GPIO_Speed_50MHz;
  37.        
  38.         GPIO_Init(LED_Port,&LED_GPIO);
  39.         LED0 = 1;
  40. }

  41. void vLedTask()
  42. {
  43.                 while(1)
  44.                 {
  45.                                 LED0 = !LED0;
  46.                                 vTaskDelay(1000 / portTICK_PERIOD_MS);
  47.                 }
  48. }

  49. int main()
  50. {
  51.                 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
  52.                 SystemInit();
  53.                 LED_Init();
  54.        
  55.                 xTaskCreate(vLedTask, "vLedTask",     configMINIMAL_STACK_SIZE, NULL, 3, NULL);

  56.     vTaskStartScheduler();          //??????
  57.        
  58.         for(;;){
  59.                 LED0 = !LED0;
  60.                 delay_ms(100);
  61.         }

  62. }
复制代码

所有资料51hei提供下载:
STM32F103C8T6_FreeRtos_Demo.rar (301.85 KB, 下载次数: 107)


评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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