×
单片机 > 单片机程序设计 > 详情

STM32CubeMX FreeRTOS软件定时器实验

发布时间:2020-05-28 发布时间:
|

系统:linux mint xfce 64bit 

软件: 

1、SW4STM32 

2、STM32CubeMX 

关于这两个软件在linux的安装教程请看我另一篇博文


Linux/Windows配置stm32免费开发环境详细流程

sw4stm32比较难下载,在此提供百度网盘链接:


链接:https://pan.baidu.com/s/1nxgh1VF 密码:rvzu 

3、开发板:STM32F407VET6核心

FreeRTOS软件定时器特点: 

(1)是RTOS的一个组件 

(2)可以用来扩展STM32的定时器 

(3)不是很精确,但可以用作处理循环事件或者延时事件 

(4)两种模式,periodic和one pulse

使用STM32CubeMX配置FreeRTOS的话,API是CMSIS_RTOS标准的,也就是进行了封装,下表给出了一些对应关系 
 
对于软件定时器的操作请看下图 

下面介绍一下使用STM32CubeMX配置FreeRTOS软件定时器的例子,使用到了以上几个函数,参考资料在文末。

  1. 配置RCC(外部晶振8M),SYS(systick设置为TIM4),LED灯所在引脚,串口1(用来打印输出信息)

  2. 配置时钟,选择外部晶振,HCLK输入168会自动寻找配置 

  3. 在Configuration 里选择FreeRTOS ,FreeRTOS使能软件定时器 

  4. 添加软件定时器,模式选择周期性 

  5. 生成sw4stm32工程,记得在代码生成设置里面勾选为每个外设生成独立的.c/.h 文件 

  6. 修改main.c文件里的内容,第一步是串口重定向,添加下列代码到相关位置 

 
7. 修改freertoc.c内容,主要修改两处,一处是任务函数StartDefaultTask,一处是软件定时器的回调函数Callback01 
 


关键字:STM32CubeMX  FreeRTOS  软件定时器 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址