【RT-Thread作品秀】基于stm32的簡(jiǎn)易示波器
作者:詹敏
概述(說(shuō)明應(yīng)用產(chǎn)生的背景、實(shí)現(xiàn)功能)
簡(jiǎn)易示波器基于STM32F103芯片及自帶ADC開(kāi)發(fā)??蓪?shí)現(xiàn)電壓范圍0-3.3V,頻率范圍1Hz-10kHz正弦波和方波顯示,提供自動(dòng)、普通以及單次三種采樣模式,上升沿和下降沿兩種觸發(fā)方式,0~3.3V觸發(fā)閥值。該系統(tǒng)可滿足常見(jiàn)場(chǎng)合使用需求。
開(kāi)發(fā)環(huán)境(所采用的軟、硬件方案)
硬件:stm32f103-指南者,3.2寸ILI9341液晶顯示
RT-Thread版本:3.0.3
開(kāi)發(fā)工具及版:MDK 5.26
RT-Thread使用情況概述(簡(jiǎn)要總結(jié)下應(yīng)用中RT-Thread使用情況:內(nèi)核部分、組件部分、軟件包部分、內(nèi)核、其他)
內(nèi)核部分:調(diào)度器,信號(hào)量,消息隊(duì)列。
調(diào)度器:創(chuàng)建多個(gè)線程來(lái)實(shí)現(xiàn)不同的工作。
信號(hào)量:用來(lái)同步線程。
消息隊(duì)列:用來(lái)實(shí)現(xiàn)線程之間傳遞的數(shù)據(jù)。
硬件框架(概述應(yīng)用所采用的硬件方案框圖,并對(duì)核心部分做介紹)
ADC采集波形發(fā)生器信號(hào)經(jīng)過(guò)stm32f103芯片處理后顯示到3.2寸ILI9341液晶屏。
軟件框架說(shuō)明(介紹應(yīng)用所采用的軟件方案框圖、流程圖等,并加以解說(shuō))
軟件模塊說(shuō)明(介紹應(yīng)用軟件關(guān)鍵部分的邏輯、采用的實(shí)現(xiàn)方式等)
線程:
GetWave_thread:波形采樣線程;根據(jù)所設(shè)置的屏幕每一格代表的時(shí)間確定采樣頻率,根據(jù)觸發(fā)閥值和觸發(fā)模式確定采樣開(kāi)始點(diǎn),對(duì)波形進(jìn)行采樣保存。PlotWave_thread:波形顯示線程;根據(jù)屏幕區(qū)域劃分進(jìn)行波形顯示。
KeyScan_thread:按鍵掃描線程;讀取按鍵值進(jìn)行轉(zhuǎn)換并發(fā)送給設(shè)置執(zhí)行線程。
Setting_thread:設(shè)置操作執(zhí)行線程;執(zhí)行設(shè)置項(xiàng)修改操作并刷新顯示信息。
消息隊(duì)列:
setting_data_queue:將按鍵掃描線程讀取并轉(zhuǎn)換后的設(shè)置信息傳遞給設(shè)置執(zhí)行線程,以完成設(shè)置更改和顯示信息刷新。
getwave_status_queue:用于波形采樣線程和波形顯示線程之間通信,確保采樣波形及時(shí)顯示刷新。
key_scan_queue:用于設(shè)置線程和按鍵檢測(cè)線程之間通信,確保按鍵信號(hào)及時(shí)被讀取同時(shí)避免按鍵檢測(cè)線程占用過(guò)多資源。
演示效果(演示效果請(qǐng)采用3張高清圖片,并錄制一段不少于1min視頻解說(shuō)應(yīng)用所實(shí)現(xiàn)的效果,視頻上傳至B站或者騰訊視頻或其他視頻平臺(tái),給出鏈接即可)
比賽感悟(可以圍繞這次比賽學(xué)到了什么,克服了哪些困難,有哪些收獲,不低于200字)
本次比賽信息我是通過(guò)微信公眾號(hào)了解到的,看到比賽時(shí)間剛好在準(zhǔn)備開(kāi)題期間又考慮到我本身不是控制專(zhuān)業(yè),所以剛開(kāi)始有點(diǎn)打退堂鼓。但那時(shí)候也正是剛剛完成一段時(shí)間的理論學(xué)習(xí),確實(shí)需要一個(gè)實(shí)踐項(xiàng)目來(lái)鞏固,所以最后抱著試一試的心態(tài)沒(méi)有申請(qǐng)板卡報(bào)名了。在截止日期也勉強(qiáng)完成了,但由于過(guò)程匆忙,系統(tǒng)仍有很多不完善的地方,算是一點(diǎn)遺憾了。
不過(guò),總的來(lái)說(shuō)收獲肯定是不小的,學(xué)習(xí)如此優(yōu)秀的國(guó)產(chǎn)操作系統(tǒng)RT-Thread并用它完成了自己的作品本身這件事足以讓這段時(shí)間稱(chēng)得上有意義了。過(guò)程中也將之前所學(xué)知識(shí)應(yīng)用到時(shí)間,加深了理解。雖然比賽已經(jīng)結(jié)束了,后面還是會(huì)對(duì)作品進(jìn)行繼續(xù)優(yōu)化改進(jìn)。
最后感謝主辦方為我們提供了一個(gè)自我鍛煉的機(jī)會(huì),學(xué)習(xí)的機(jī)會(huì)。感謝RT-Thread團(tuán)隊(duì)提供的優(yōu)秀操作系統(tǒng),后續(xù)還會(huì)繼續(xù)深入學(xué)習(xí)。