第一節 硬件解讀
不說廢話,我們直接看藍橋杯物聯網的擴展的按鍵模塊的原理圖:

由上面的圖我們可以看出,這是一個2*3的矩陣鍵盤了,關于矩陣鍵盤的知識就不再重復了,大家都已經參加物聯網的比賽了,這些基礎知識也是廢話。但是還是要給大家回顧一下,如果按鍵B3被按下,那就是ROW1和COLUMN3同時為低電平。同理得到,如果ROW1和COLUMN3同時為低電平時,就證明按鍵B3被按下。
再來看看ROW1,ROW2,COLUMN1等等連接到STM32L017KB的那個引腳,這時我們需要切換到開發板的原理圖:

可以得到這種關系:
|
擴展版之按鍵 |
開發板主板 |
|
ROW1 |
PB6 |
|
ROW2 |
PB7 |
|
COLUMN1 |
PB1 |
|
COLUMN2 |
PB0 |
|
COLUMN3 |
PA8 |
明確了引腳的關系,基本上就可以寫代碼了。
第一節環境配置
1,在上一章介紹了OLED,我們本次的STM32CubeMX的配置將在OLED的歷程上面修改。這是第一次修改歷程,希望大家好好的學習。
2,打開比賽提供的歷程,如下圖:


3,官方沒有勾選上“Debug”。我們重新勾選中。

4,官方的下面的引腳都是沒有用到的,我們把它取消選中。


5,勾選中擴展模塊的按鍵模塊用到的引腳。需要注意的是,PB6和PB7是輸入模式,PB0,PB1是輸出模式。還要注意的是,PA8是矩陣按鍵的引腳,也是OLED的引腳,在處理矩陣鍵盤的時候,把PA8同樣配置為輸出模式。本次用的是賽點資料包的參考歷程,OLED是用的硬件IIC,區別于我們OLED的軟件IIC。【這里如果沒有看明白,請大家添加我們公眾號客服,一對一講解】如下圖:

6,時鐘樹等等配置不再重復。
第三節 編寫代碼
1,由于我們是在賽點資源包中修改的程序,大家的MDK的文件目錄應該和公子一樣。

2,聲明數組,用于OLED屏幕的顯示。

3,下圖中的代碼分別是OLED的電源使能函數,延遲函數(很重要,否則可能OLED無法顯示),OLED初始化函數,OLED清屏函數和最后兩句讓OLED顯示“KEY TEXT”的函數。

4,接下來是矩陣鍵盤的函數了。由于部分代碼是重復的,公子只注釋了一部分,以下代碼需要添加到while(1)中,用于掃描矩陣鍵盤:



5,下載器配置,編譯代碼,下載代碼不再重復。
第四節 實驗現象
實驗注意事項:
1,程序語句需要位于程序的BEGIN與END之間。
3,CN4所有撥碼開關必須選擇ON DP檔,否則無法下載程序。
4,OLED模塊與擴展版矩陣鍵盤模塊的PA8引腳沖突,解決方案:OLED配置為硬件IIC,PAB為輸出模式。
實驗現象:
LD1,LD4常亮。OLED第一行顯示“KEY TEXT”。按下矩陣鍵盤模塊,OLED第二行顯示鍵值。
宗旨:
免費的服務,永遠的開源
說明:
1.本教程免費,開源,禁止用于任何商業用途,違者必究。
2.本教程版權所屬為東莞市東城墨竹公子電子工作室,盜版必究。
3.資料下載請通過以下方式:
微信公眾號:撞上電子
CSDN:撞上電子
掘金:撞上電子
今日頭條:撞上電子
--東莞市東城墨竹公子電子工作室
--墨竹公子
--2021.12.10
-
模塊
+關注
關注
7文章
2837瀏覽量
53300
發布評論請先 登錄
傾佳電子代理之SiC功率模塊產品矩陣及其對電力電子產業變革的系統級貢獻
英飛凌與陽光同行,助力第十一屆高校電力電子應用設計大賽完美收官
麥科信科技助力第十一屆高校電力電子應用設計大賽總決賽開幕
九聯物聯出席全國水表行業第十一屆技術交流會
KAGA FEI擴展低功耗藍牙模塊產品線
深演智能亮相第十一屆WRE零售數字化峰會
第十一章 W55MH32 SMTP示例
西井科技亮相第十一屆上交會
九聯科技亮相第十一屆上交會
邀請函 | CET中電技術邀您參加第十一屆中國機場建設年會
以“智”賦能,共繪新景!納特通信亮相第十一屆世界雷達博覽會
尖端裝備,盛大展出!中星聯華亮相第十一屆世界雷達博覽會
中星聯華邀您齊聚2025第十一屆世界雷達博覽會
第十一章 ?擴展模塊之矩陣按鍵模塊
評論