|
發(fā)表于 2024-11-28 15:33
|
會飛的魚KKK 發(fā)表于 2024-11-28 11:21 哈哈哈,小白一個,老師上課都沒講什么直接就讓我們寫了 ![]() |
| 在第一個if里面加延時,保證按一次按鍵只執(zhí)行第一個一次if |
| 按按鍵的時間和HAL_Delay(150),最好延時時間大于按鍵時間,讓按一次只進入一次A11接地判定,還有A10一般做串口用,點燈有點大材小用了 |
|
本帖最后由 zpwgf 于 2024-11-28 10:21 編輯 HAL_GPIO_TogglePin使用這個函數(shù)就方便撒。比如: if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_11) == 0) { HAL_Delay(10); if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_11) == 0) { HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_10); } } 沒錯的話應(yīng)該這樣也可以。當(dāng)然,這樣不松手的話理論上會一直來回跳 |
| 判斷按鍵里面加個延時再判斷一次就實現(xiàn)你的功能了,你目前的程序因為沒有延時,單片機跑太快按鍵可能會亂變燈 |
|
有問題 沒消抖 沒松手檢測 |
tianxiazone 發(fā)表于 2024-11-26 21:44 就是我這個按鍵接的地,所以按下去讀取的應(yīng)該是0,所以用的reset,這個中斷是什么意思啊,請教一下,我們老師上可就講了這幾個函數(shù)》 |
| 第100行 寫錯了吧 ,這個邏輯有有點問題, 按鍵可以用中斷 |
|
Powered by 單片機教程網(wǎng)