熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2017-9-19 18:18
正文摘要:準(zhǔn)備做一個(gè)單片機(jī)通過(guò)指令控制,串口屏顯示。但是由于屏幕是非觸摸屏的 所以單獨(dú)加按鍵,那么問(wèn)題來(lái)了 ,如何通過(guò)編寫程序 使得stm32實(shí)現(xiàn)按鍵功能 新手求助 謝謝 |
最簡(jiǎn)單的方法,采用類似于51的查詢法嘍,采用位帶操作,直接讀取I/O口的高低電平,然后就可以確定此時(shí)的按鍵的狀態(tài)。 |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
外部中斷也不錯(cuò),加上消抖和按鍵抬起檢測(cè)就能很好實(shí)現(xiàn) |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
讀取IO口上的引腳就可以了 |
簡(jiǎn)單的I/o口檢測(cè),查詢方式就可以了,輸出信號(hào)給屏顯示。 |
查詢方式或者中斷方式都行 |
按鍵識(shí)別----GPIO口輸入功能 初始化: 編程思路:開(kāi)時(shí)鐘 配置為輸入功能 上下拉 可配可不配 按鍵識(shí)別函數(shù):狀態(tài)機(jī)----配合定時(shí)器做會(huì)很靈敏 |
掃描鍵盤也可以,會(huì)省一些IO資源。 |
給按鍵配置一個(gè)GPIO端口引腳,然后直接讀取引腳的高低電平進(jìn)行判斷 |
大家好,新人學(xué)習(xí)中 |
) 使用GPIO_InitTypeDef定義GPIO初始化結(jié)構(gòu)體變量,以便下面用于存儲(chǔ)GPIO配置。 (2) 調(diào)用庫(kù)函數(shù) RCC_APB2PeriphClockCmd 來(lái)使能按鍵的 GPIO 端口時(shí)鐘,調(diào)用時(shí)我們使 用“|”操作同時(shí)配置兩個(gè)按鍵的時(shí)鐘。 (3) 向 GPIO初始化結(jié)構(gòu)體賦值,把引腳初始化成浮空輸入模式,其中的 GPIO_Pin使用宏 “KEYx_GPIO_PIN”來(lái)賦值,使函數(shù)的實(shí)現(xiàn)方便移植。由于引腳的默認(rèn)電平受按鍵電 路影響,所以設(shè)置成浮空輸入。 (4) 使用以上初始化結(jié)構(gòu)體的配置,調(diào)用 GPIO_Init函數(shù)向寄存器寫入?yún)?shù),完成 GPIO的 初始化,這里的 GPIO 端口使用“KEYx_GPIO_PORT”宏來(lái)賦值,也是為了程序移植 方便。 (5) 使用同樣的初始化結(jié)構(gòu)體,只修改控制的引腳和端口,初始化其它按鍵檢測(cè)時(shí)使用的 GPIO引腳。 |
判斷外部中斷發(fā)生---讀取傳輸字符---清楚中斷標(biāo)志---發(fā)送讀取字符---顯示發(fā)送字符。 |
我想你還是先看看書或者找視頻看看吧 |
Powered by 單片機(jī)教程網(wǎng)