rtx是一个keil公司开发的一个开源的实时操作系统(RTOS), 在Keil中有集成。在github上下载
相关源码。
RTX文件结构如下:
RTOS2目录下:
1. Include > RTOS2 头文件
2. RTX > RTX 文件
3. Source > Systick 驱动
图片1
![](https://static.assets-stash.eet-china.com/album/202008/16/160458d11qwgf1gzgood5o.jpg)
RTX目录下
1. Config > RTX配置文件
2. Include > RTX头文件
3. Source > RTX源文件
图片2
![](https://static.assets-stash.eet-china.com/album/202008/16/160459fool1t8dtg8zidod.jpg)
将以上相关文件添加到工程目录下, 并添加cmake文件, 单独编译成rtx库
图片3
![](https://static.assets-stash.eet-china.com/album/202008/16/160500v3fksfs2kl2knftf.jpg)
在目录下添加RTE_Components.h文件:
图片4
![](https://static.assets-stash.eet-china.com/album/202008/16/160501yzmcfuk3m8kbm7js.jpg)
整体的代码结构:
1. App > 用户代码
2. Core, Drivers > stm32cubeMX 生成的代码
3. RTOS2 > CMSIS-V2 封装的 RTX 库
图片5
![](https://static.assets-stash.eet-china.com/album/202008/16/160501cblbofwzob5wam00.jpg)
接下来我们关注APP目录即可, 在目录下添加main.cpp, 注:我们采用c++
头文件
图片6
![](https://static.assets-stash.eet-china.com/album/202008/16/160502wscdxdaoq6xax7sc.jpg)
main函数:
1.初始化mcu
2.初始化rtos
图片7
![](https://static.assets-stash.eet-china.com/album/202008/16/160503z6z8axxz2bhxbyhk.jpg)
串口驱动:
串口接收采用中断方式, 串口发送采用阻塞模式.
图片8
![](https://static.assets-stash.eet-china.com/album/202008/16/160504sbfcp3f3a3l3hiyf.jpg)
图片9
![](https://static.assets-stash.eet-china.com/album/202008/16/160505bl8jnjqgjmj2sljj.jpg)
按键驱动:
在按键线程里不断扫描io状态
图片10
![](https://static.assets-stash.eet-china.com/album/202008/16/160505g389son3oqnbz9si.jpg)
LED驱动:
在main线程里翻转LED
图片11
![](https://static.assets-stash.eet-china.com/album/202008/16/160506km7q08pzm7mpf7zf.jpg)
使用JFlash烧写程序
上电, 运行效果如下, 测试一哈串口, 按键, LED:
图片12
![](https://static.assets-stash.eet-china.com/album/202008/16/160507ywrrjl8rwa5etj62.jpg)
图片13
![](https://static.assets-stash.eet-china.com/album/202008/16/161254phhd11hsd6da0a01.gif)
程序工程源码:
ps: 没有找到上传方式, 有需要可以私聊
abner_ma 2020-8-26 19:46
,赞
913894939_414321283 2020-8-18 18:13
面包板社区管理员 2020-8-17 16:44