第一節(jié) 硬件解讀
不說廢話,我們直接看藍(lán)橋杯物聯(lián)網(wǎng)的擴(kuò)展的按鍵模塊的原理圖:
由上面的圖我們可以看出,這是一個2*3的矩陣鍵盤了,關(guān)于矩陣鍵盤的知識就不再重復(fù)了,大家都已經(jīng)參加物聯(lián)網(wǎng)的比賽了,這些基礎(chǔ)知識也是廢話。但是還是要給大家回顧一下,如果按鍵B3被按下,那就是ROW1和COLUMN3同時為低電平。同理得到,如果ROW1和COLUMN3同時為低電平時,就證明按鍵B3被按下。
再來看看ROW1,ROW2,COLUMN1等等連接到STM32L017KB的那個引腳,這時我們需要切換到開發(fā)板的原理圖:
可以得到這種關(guān)系:
擴(kuò)展版之按鍵 |
開發(fā)板主板 |
ROW1 |
PB6 |
ROW2 |
PB7 |
COLUMN1 |
PB1 |
COLUMN2 |
PB0 |
COLUMN3 |
PA8 |
明確了引腳的關(guān)系,基本上就可以寫代碼了。
第一節(jié)環(huán)境配置
1,在上一章介紹了OLED,我們本次的STM32CubeMX的配置將在OLED的歷程上面修改。這是第一次修改歷程,希望大家好好的學(xué)習(xí)。
2,打開比賽提供的歷程,如下圖:
3,官方?jīng)]有勾選上“Debug”。我們重新勾選中。
4,官方的下面的引腳都是沒有用到的,我們把它取消選中。
5,勾選中擴(kuò)展模塊的按鍵模塊用到的引腳。需要注意的是,PB6和PB7是輸入模式,PB0,PB1是輸出模式。還要注意的是,PA8是矩陣按鍵的引腳,也是OLED的引腳,在處理矩陣鍵盤的時候,把PA8同樣配置為輸出模式。本次用的是賽點資料包的參考?xì)v程,OLED是用的硬件IIC,區(qū)別于我們OLED的軟件IIC?!具@里如果沒有看明白,請大家添加我們公眾號客服,一對一講解】如下圖:
6,時鐘樹等等配置不再重復(fù)。
第三節(jié) 編寫代碼
1,由于我們是在賽點資源包中修改的程序,大家的MDK的文件目錄應(yīng)該和公子一樣。
2,聲明數(shù)組,用于OLED屏幕的顯示。
3,下圖中的代碼分別是OLED的電源使能函數(shù),延遲函數(shù)(很重要,否則可能OLED無法顯示),OLED初始化函數(shù),OLED清屏函數(shù)和最后兩句讓OLED顯示“KEY TEXT”的函數(shù)。
4,接下來是矩陣鍵盤的函數(shù)了。由于部分代碼是重復(fù)的,公子只注釋了一部分,以下代碼需要添加到while(1)中,用于掃描矩陣鍵盤:
5,下載器配置,編譯代碼,下載代碼不再重復(fù)。
第四節(jié) 實驗現(xiàn)象
實驗注意事項:
1,程序語句需要位于程序的BEGIN與END之間。
2,利用USB線將電腦USB口與開發(fā)板USB1口連接。
3,CN4所有撥碼開關(guān)必須選擇ON DP檔,否則無法下載程序。
4,OLED模塊與擴(kuò)展版矩陣鍵盤模塊的PA8引腳沖突,解決方案:OLED配置為硬件IIC,PAB為輸出模式。
實驗現(xiàn)象:
LD1,LD4常亮。OLED第一行顯示“KEY TEXT”。按下矩陣鍵盤模塊,OLED第二行顯示鍵值。
宗旨:
免費(fèi)的服務(wù),永遠(yuǎn)的開源
說明:
1.本教程免費(fèi),開源,禁止用于任何商業(yè)用途,違者必究。
2.本教程版權(quán)所屬為東莞市東城墨竹公子電子工作室,盜版必究。
3.資料下載請通過以下方式:
微信公眾號:撞上電子
CSDN:撞上電子
掘金:撞上電子
今日頭條:撞上電子
--東莞市東城墨竹公子電子工作室
--墨竹公子
--2021.12.10
-
模塊
+關(guān)注
關(guān)注
7文章
2659瀏覽量
47298
發(fā)布評論請先 登錄
相關(guān)推薦
評論