系统: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软件定时器的例子,使用到了以上几个函数,参考资料在文末。
配置RCC(外部晶振8M),SYS(systick设置为TIM4),LED灯所在引脚,串口1(用来打印输出信息)
配置时钟,选择外部晶振,HCLK输入168会自动寻找配置
在Configuration 里选择FreeRTOS ,FreeRTOS使能软件定时器
添加软件定时器,模式选择周期性
生成sw4stm32工程,记得在代码生成设置里面勾选为每个外设生成独立的.c/.h 文件
修改main.c文件里的内容,第一步是串口重定向,添加下列代码到相关位置
7. 修改freertoc.c内容,主要修改两处,一处是任务函数StartDefaultTask,一处是软件定时器的回调函数Callback01
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』