作者:祁星晨
概述
《战争雷霆》提供了一个非常详细和个性化的载具驾驶体验,使玩家可以驾驶数千种不同型号的海陆空载具,在空战模式,模拟真实物理环境状态下的飞行参数是需要及时获取的,PC端界面的局限性,不便直观的查看,因此萌发了利用ART-PI制作一款可方便查看飞行时仪表数据外设的兴趣。
开发环境
RT-Thread版本:RTT-nano 3.1.3
开发工具及版本:MDK v5.33 CubeMX v6.1.0
RT-Thread使用情况概述
内核部分:调度器,互斥量。
调度器:创建多个线程来实现不同的工作。
互斥量:用来同步线程。
组件部分:无。
软件包部分:无
硬件框架
ST-Link串口部分接收来自PC的数据,4.3寸显示TouchGFX UI。
软件框架说明
软件框图
软件流程图
WarThunder数据解析任务负责解析来自PC串口通信的飞行数据,TouchGFX UI任务负责显示数据,Main任务中循环blink板载LED
软件模块说明
WarThunder数据解析任务 简单的string.h 解析,自定义格式帧
TouchGFX UI任务均由designer设计
演示效果
视频观看:
比赛感悟
纸上得来终觉浅,绝知此事要躬行。陆游的这首诗,完美的诠释了我在这次比赛中的收获。
时代的发展,MCU的性能也越来越强,万物互联的需求也愈加强烈,使用RTOS来实现物与网的链接,是时代发展的潮流,通过综合对比,我选择了国人自主的 RT-Thread。
首先要感谢RT-Thread和电路城,帮助我克服了没有时间做东西的困难,以及怎么样用最少的时间做出有意思的东西,结果不重要,比赛的deadline才重要,一定程度上克服了我拖拖拉拉的习惯,比赛过程中,学习到了一是必须要靠自己,靠自己,靠自己,二是多百度,多百度,多百度,三是要仔细,要仔细,要仔细,四是多尝试,多尝试,多尝试,重要的事说三遍。收获了晚上调试的快乐,收获了大佬们的赞,收获了玩游戏和比赛的双重快乐。
通过 RT-Thread官网上的文档中心,我学习了 多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等,学完之后,有种感觉就是看过了,我都懂,但是感觉把这些都融合不起来,通过这次比赛的项目实践,这些知识点已经全部融会贯通,我对RTOS也有了全新的认识。
最后感谢主办方提供了这么好的一个平台,不仅能展示自我,也能学到很多知识,还要感谢论坛上那些解决我问题以及制作软件包的大佬,希望有朝一日我也能给开源社区贡献一份自己力量。