作者:祁星晨
概述
《戰(zhàn)爭(zhēng)雷霆》提供了一個(gè)非常詳細(xì)和個(gè)性化的載具駕駛體驗(yàn),使玩家可以駕駛數(shù)千種不同型號(hào)的海陸空載具,在空戰(zhàn)模式,模擬真實(shí)物理環(huán)境狀態(tài)下的飛行參數(shù)是需要及時(shí)獲取的,PC端界面的局限性,不便直觀的查看,因此萌發(fā)了利用ART-PI制作一款可方便查看飛行時(shí)儀表數(shù)據(jù)外設(shè)的興趣。
開(kāi)發(fā)環(huán)境
RT-Thread版本:RTT-nano 3.1.3
開(kāi)發(fā)工具及版本:MDK v5.33 CubeMX v6.1.0
RT-Thread使用情況概述
內(nèi)核部分:調(diào)度器,互斥量。
調(diào)度器:創(chuàng)建多個(gè)線程來(lái)實(shí)現(xiàn)不同的工作。
互斥量:用來(lái)同步線程。
組件部分:無(wú)。
軟件包部分:無(wú)
硬件框架
ST-Link串口部分接收來(lái)自PC的數(shù)據(jù),4.3寸顯示TouchGFX UI。
軟件框架說(shuō)明
軟件框圖
軟件流程圖
WarThunder數(shù)據(jù)解析任務(wù)負(fù)責(zé)解析來(lái)自PC串口通信的飛行數(shù)據(jù),TouchGFX UI任務(wù)負(fù)責(zé)顯示數(shù)據(jù),Main任務(wù)中循環(huán)blink板載LED
軟件模塊說(shuō)明
WarThunder數(shù)據(jù)解析任務(wù) 簡(jiǎn)單的string.h 解析,自定義格式幀
TouchGFX UI任務(wù)均由designer設(shè)計(jì)
演示效果
視頻觀看:
比賽感悟
紙上得來(lái)終覺(jué)淺,絕知此事要躬行。陸游的這首詩(shī),完美的詮釋了我在這次比賽中的收獲。
時(shí)代的發(fā)展,MCU的性能也越來(lái)越強(qiáng),萬(wàn)物互聯(lián)的需求也愈加強(qiáng)烈,使用RTOS來(lái)實(shí)現(xiàn)物與網(wǎng)的鏈接,是時(shí)代發(fā)展的潮流,通過(guò)綜合對(duì)比,我選擇了國(guó)人自主的 RT-Thread。
首先要感謝RT-Thread和電路城,幫助我克服了沒(méi)有時(shí)間做東西的困難,以及怎么樣用最少的時(shí)間做出有意思的東西,結(jié)果不重要,比賽的deadline才重要,一定程度上克服了我拖拖拉拉的習(xí)慣,比賽過(guò)程中,學(xué)習(xí)到了一是必須要靠自己,靠自己,靠自己,二是多百度,多百度,多百度,三是要仔細(xì),要仔細(xì),要仔細(xì),四是多嘗試,多嘗試,多嘗試,重要的事說(shuō)三遍。收獲了晚上調(diào)試的快樂(lè),收獲了大佬們的贊,收獲了玩游戲和比賽的雙重快樂(lè)。
通過(guò) RT-Thread官網(wǎng)上的文檔中心,我學(xué)習(xí)了 多線程及其調(diào)度、信號(hào)量、郵箱、消息隊(duì)列、內(nèi)存管理、定時(shí)器等,學(xué)完之后,有種感覺(jué)就是看過(guò)了,我都懂,但是感覺(jué)把這些都融合不起來(lái),通過(guò)這次比賽的項(xiàng)目實(shí)踐,這些知識(shí)點(diǎn)已經(jīng)全部融會(huì)貫通,我對(duì)RTOS也有了全新的認(rèn)識(shí)。
最后感謝主辦方提供了這么好的一個(gè)平臺(tái),不僅能展示自我,也能學(xué)到很多知識(shí),還要感謝論壇上那些解決我問(wèn)題以及制作軟件包的大佬,希望有朝一日我也能給開(kāi)源社區(qū)貢獻(xiàn)一份自己力量。