国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

第十三屆藍(lán)橋杯嵌入式省賽

2023-03-02 19:42 作者:我是綠帽駿  | 我要投稿


硬件框架圖
功能需求



在看過題目后可知,大致要用到LCD、LED小燈、按鍵、串口、定時(shí)器PWM等。



一、首先大致將需用到的GPIO、外設(shè)等使用CubeMX初始化配置

(1)按鍵配置

按鍵具體實(shí)現(xiàn)需求
原理圖按鍵部分

????????根據(jù)原理圖可知PB0、PB1、PB2、PA0對應(yīng)四個(gè)按鍵,直接將這四個(gè)IO口配置為輸入

配置為輸入模式

(2)PWM輸出配置


? ? ????已知PA1輸出,點(diǎn)擊該P(yáng)in口發(fā)現(xiàn)有定時(shí)器2的通道2

PA1可實(shí)現(xiàn)的功能
配置定時(shí)器2通道2即PA1引腳輸出1KHz的方波

????????由于已將該芯片配置系統(tǒng)時(shí)鐘為80MHz,后再1分頻將APB1總線也設(shè)為80MHz,定時(shí)器2掛載在該總線上,所以要輸出1KHz頻率的方波,則80/(Pre+1)/(ARR+1)=1K,這里我將Pre設(shè)置為79,ARR設(shè)置為999。

????????為了后續(xù)便于測試PWM輸出是否正確,開啟定時(shí)器4,使用輸入捕獲檢測該輸出

使用定時(shí)器4輸入捕獲功能檢測輸出波的參數(shù)
開啟定時(shí)器中斷


(3)開啟串口,設(shè)置參數(shù)

串口具體要求


串口配置為9600波特率


??????????由于需要接收數(shù)據(jù)進(jìn)行分析,我們直接開啟串口中斷,簡單方便

開啟串口中斷

****Tips:

????

如果在配置欄中直接開啟的串口需在芯片的圖形界面配置中將TX、RX改為PA9、PA10



(4)設(shè)置為輸出

LED需求
LED部分原理圖

同理,將PC8~PC15、PD2設(shè)置OUTPUT,其余默認(rèn)即可

考慮到LED實(shí)現(xiàn)需計(jì)時(shí)等功能,我們再開啟定時(shí)器6開啟中斷,配置為1ms進(jìn)入一次。


二、各個(gè)功能代碼的實(shí)現(xiàn)

(1)LED代碼的實(shí)現(xiàn)

LED1
LED2

*此處LED2的閃爍不要使用HAL_GPIO_TogglePin()這個(gè)函數(shù)

?由于G431的屏幕的IO與LED的IO復(fù)用,若使用該函數(shù)會導(dǎo)致LED的小燈狀態(tài)不確定


(2)按鍵部分代碼

按鍵檢索
按鍵功能
具有消抖功能并可檢測按鍵是按下還是彈起狀態(tài)
判斷當(dāng)前是否為輸入界面且按鍵是否彈起,此處我加unKey_Down和unKey_Val的判斷是避免一個(gè)按鍵按下未松手再按另一個(gè)造成判斷錯誤的問題
按鍵4按下抬起后,若輸入密碼與當(dāng)前設(shè)置密碼一致則改變重裝載值,即改變頻率(80MHz/(79+1)/(499+1)=2KHz),再重新設(shè)置占空比



(3)LCD屏幕

????直接將官方給的驅(qū)動移植到工程中使用

兩個(gè)界面的顯示實(shí)現(xiàn)


(4)定時(shí)器功能實(shí)現(xiàn)

定時(shí)器6每1ms進(jìn)入一次中斷,判斷密碼輸入后的狀態(tài)并進(jìn)行相應(yīng)的操作
定時(shí)器4輸入捕獲計(jì)算占空比與頻率
main函數(shù)中需開啟定時(shí)器



(5)串口功能

????

重寫c庫的printf便于調(diào)試(魔術(shù)棒勾選Microlib)
串口中斷回調(diào)函數(shù),一次接收7個(gè)字節(jié)數(shù)據(jù)然后判斷是否符合要求(使用ASCII碼),每次接受完清除字符數(shù)組緩存,并再次開啟串口接收中斷



三、測試輸出頻率占空比是否正確

PA11為輸入采集通道,打印輸入捕獲計(jì)算所得的結(jié)果,與需求一致,默認(rèn)狀態(tài)1KHz,50%占空比
輸入密碼正確結(jié)果


四、演示視頻

? ? 在一系列調(diào)試修改后,功能實(shí)現(xiàn)視頻如下(屏幕下方顯示占空比與頻率的代碼在測試后注釋即可):




第十三屆藍(lán)橋杯嵌入式省賽的評論 (共 條)

分享到微博請遵守國家法律
德昌县| 朝阳区| 张掖市| 逊克县| 阜新市| 武鸣县| 潍坊市| 丰都县| 八宿县| 应用必备| 嘉定区| 开封县| 钟山县| 凯里市| 西和县| 兴海县| 阿图什市| 平潭县| 绍兴市| 姜堰市| 铁力市| 文登市| 沂源县| 大丰市| 鹤岗市| 邯郸市| 祁连县| 多伦县| 湾仔区| 榕江县| 横峰县| 海林市| 清远市| 凤阳县| 新疆| 温泉县| 丰顺县| 瑞安市| 宕昌县| 鹿泉市| 老河口市|