当前位置: 首页 > news >正文

[嵌入式embed]Keil5-STM32F103C8T6(江协科技)+移植FreeRTOS v9模版项目

Keil5-STM32F103C8T6_江协科技+移植FreeRTOS模版

      • 1.江协资料(接线图+视频+相关资料下载)
        • 实际接线图(江协科技-STM32F103C8T6)
      • 2.普中科技(STM32-F103玄武-FreeRTOS示例)
      • 3.FreeRTOS v9.0.0 下载使用
      • 4.开始从江协 3-1 LED闪烁移植FreeRTOS v9
        • 1.项目文件如下
        • 2.复制3-1 LED闪烁项目重命名为 3-FreeRTOS移植模版STM32F103C8T6
        • 3.打开复制好的项目
        • 4.解压FreeRTOSv9.0.0.zip
        • 5.在Keil5软件加入FreeRTOS的.c和.h文件
        • 6.配置工程include路径
        • 7.在Keil5软件修改部分.c和.h文件
          • 修改FreeRTOSConfig.h
          • 修改stm32f10x_it.c-注释代码
          • 修改stm32f10x_it.h-注释代码
          • main.c修改
        • 8.编译 && 运行
          • 编译-没有报错
          • 运行-led闪烁
      • 5.参考资料
      • 6.百度云资料

1.江协资料(接线图+视频+相关资料下载)

[3-2] LED闪烁&LED流水灯&蜂鸣器

江协接线图 3-2 LED流水灯

在这里插入图片描述

江协示例程序 3-1LED闪烁

在这里插入图片描述
江协STM32资料下载
在这里插入图片描述

实际接线图(江协科技-STM32F103C8T6)

在这里插入图片描述

2.普中科技(STM32-F103玄武-FreeRTOS示例)

2.3-FreeRTOS移植--FreeRTOS移植

普中STM32-F103玄武资料(FreeRTOS)下载
在这里插入图片描述

3.FreeRTOS v9.0.0 下载使用

我这边用到的是普中科技RTOS视频中介绍的FreeRTOS v9.0.0
如何下载使用FreeRTOS请参考我的文章
[嵌入式embed]Keil5打开FreeRTOS-v9项目提示:This is an MDK Version 4 project requiring…

4.开始从江协 3-1 LED闪烁移植FreeRTOS v9

1.项目文件如下

在这里插入图片描述

2.复制3-1 LED闪烁项目重命名为 3-FreeRTOS移植模版STM32F103C8T6

在这里插入图片描述

3.打开复制好的项目

在这里插入图片描述

4.解压FreeRTOSv9.0.0.zip

在这里插入图片描述

在3-FreeRTOS移植模版STM32F103C8T6创建FreeRTOS文件夹

在这里插入图片描述

复制FreeRTOSv9.0.0/FreeRTOS/Source的文件到
3-FreeRTOS移植模版STM32F103C8T6\FreeRTOS

在这里插入图片描述

删除FreeRTOS/porable部分文件夹,只保留Keil MemMang RVDS

在这里插入图片描述

复制FreeRTOSv9.0.0\FreeRTOS\Demo\CORTEX_STM32F103_Keil下的
FreeRTOSConfig.h到User文件夹

在这里插入图片描述

5.在Keil5软件加入FreeRTOS的.c和.h文件

在这里插入图片描述

新建三个Group,FreeRTOS_core 和 FreeRTOS_port 和 include

FreeRTOS_core 引入 FreeRTOS的.c文件

在这里插入图片描述

FreeRTOS_port 引入FreeRTOS\portable\MemMang的heap_4.c

在这里插入图片描述

FreeRTOS_port 引入FreeRTOS\portable\RVDS\ARM_CM3的port.c文件

在这里插入图片描述

include 引入FreeRTOS\include的所有.h文件

在这里插入图片描述

User引入FreeRTOSConfig.h

在这里插入图片描述

System文件夹复制一些文件,并引入System

在这里插入图片描述
在这里插入图片描述

6.配置工程include路径

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最终项目结构如图:
在这里插入图片描述
在这里插入图片描述

7.在Keil5软件修改部分.c和.h文件
修改FreeRTOSConfig.h

在这里插入图片描述

/* 添加必须的四个宏 */
#define xPortPendSVHandler PendSV_Handler
#define vPortSVCHandler SVC_Handler
#define xPortSysTickHandler SysTick_Handler
#define INCLUDE_xTaskGetSchedulerState  1
修改stm32f10x_it.c-注释代码

在这里插入图片描述

修改stm32f10x_it.h-注释代码

在这里插入图片描述

main.c修改

main.c完整替换

#include "system.h"
#include "SysTick.h"
#include "led.h"
#include "usart.h"
#include "FreeRTOS.h"
#include "task.h"//任务优先级
#define START_TASK_PRIO		1
//任务堆栈大小	
#define START_STK_SIZE 		128  
//任务句柄
TaskHandle_t StartTask_Handler;
//任务函数
void start_task(void *pvParameters);//任务优先级
#define LED1_TASK_PRIO		2
//任务堆栈大小	
#define LED1_STK_SIZE 		50  
//任务句柄
TaskHandle_t LED1Task_Handler;
//任务函数
void led1_task(void *pvParameters);/*******************************************************************************
* 函 数 名         : main
* 函数功能		   : 主函数
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
int main()
{SysTick_Init(72);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//设置系统中断优先级分组4LED_Init();USART1_Init(115200);//创建开始任务xTaskCreate((TaskFunction_t )start_task,            //任务函数(const char*    )"start_task",          //任务名称(uint16_t       )START_STK_SIZE,        //任务堆栈大小(void*          )NULL,                  //传递给任务函数的参数(UBaseType_t    )START_TASK_PRIO,       //任务优先级(TaskHandle_t*  )&StartTask_Handler);   //任务句柄              vTaskStartScheduler();          //开启任务调度
}//开始任务任务函数
void start_task(void *pvParameters)
{taskENTER_CRITICAL();           //进入临界区//创建LED1任务xTaskCreate((TaskFunction_t )led1_task,     (const char*    )"led1_task",   (uint16_t       )LED1_STK_SIZE, (void*          )NULL,(UBaseType_t    )LED1_TASK_PRIO,(TaskHandle_t*  )&LED1Task_Handler); vTaskDelete(StartTask_Handler); //删除开始任务taskEXIT_CRITICAL();            //退出临界区
} //LED1任务函数
void led1_task(void *pvParameters)
{while(1){LED3=0;vTaskDelay(200);LED3=1;vTaskDelay(800);}
}
8.编译 && 运行
编译-没有报错

在这里插入图片描述

运行-led闪烁

在这里插入图片描述
在这里插入图片描述

5.参考资料

三分钟移植FreeRTOS

6.百度云资料

在这里插入图片描述

完整项目资源

http://www.dtcms.com/a/408544.html

相关文章:

  • 做窗帘的效果图网站那些因素会影响网站的排名位置
  • 惠州做网站哪家公司好wordpress吗
  • 网站做好了 后期怎么做企业网站营销优缺点
  • 做电子商务网站 除了域名 网页设计 还有服务器 和网站空间怎样建设网站后台
  • 做网站赚钱不旅游网站的首页怎么做
  • 美的网站建设用ps做网站首页
  • 巢湖网站建设公司东莞黄页大全
  • 公路水运建设质量安全监督网站it外包公司联系电话
  • 做卷皮网类似网站wordpress网站手机端菜单栏
  • 网站开发的解决方案国家城乡和住房建设部网站
  • 网站推广需求学习网站后台维护
  • 肇庆住房和城乡建设局网站建设局是个好单位吗
  • 简单建优化网站无需技术php网站服务器搭建
  • 然后建设一个论坛网站外贸网站建设是什么
  • 网站建设方案书阿里云高清图片素材网站推荐
  • 广东网站设计服务商怎么制作表白链接
  • 做网站需要Excel表格吗高端顺口公司名字
  • 多网站绑定域名企业门户网站模式
  • 定制做网站费用广州电商小程序开发
  • 上海好的网站制作公司百度应用商店
  • 哈尔滨模板建站定制网站医院网站建设 中企动力
  • 高端网站建设步骤免费的短视频素材库
  • 九脉堂是做网站的网络服务器可提供的常见服务有什么服务
  • 福田欧曼est前四后八手机网站优化需要注意什么
  • 怎样做企业官方网站免费空间送二级域名
  • 360网站提交入口地址网站备案org
  • wap网站前台模板php网站开发意思
  • docker容器的三大核心UnionFS(上)
  • 魏公村网站建设做MAD生肉网站
  • 化工企业网站模板罗湖网页设计