stm32f4discovery 上頭有好幾顆 button, 其中有一顆名為 user button, 這次的實驗要來偵測這個 button。
右圖 stm32f4discovery 的藍色 button 就是 user button, 電路板也有寫上 user, 應該很好辨識。
有兩種偵測 button 狀態的方法: polling 和中斷, 這次介紹使用 polling 來偵測按鈕有無被按下。
user button 接在 PA0, 是個 GPIO, 所以用設定 gpio 的方式就可以設定相關暫存器。
L140 ~ L147 就是在作這個 button 的設定。所以重點就是在如何設定這個 button 的 gpio。
我沒有說明硬體相關資訊是因為我不懂這些東西, 我把這部份的程式碼簡化成這樣就是為了方便查詢這些資料, 不過現在只需要能搞定 user button 的程式碼即可, 這些等以後要「知道」的時候再查詢。
簡化程式碼, 查詢如何完成這功能就花費我不少時間, 我得留些時間做些休閒活動, 休息和工作是同等重要的, 我很小心取得中間的平衡。
程式執行之後, 按下 user button 會執行 L160。
這樣的方式不算漂亮, 使用中斷是比較合適的作法, 這是為外部中斷的版本熱身用的。
source code: 老地方
git commit 37def95d39fc81b6afa9761a21882816303165da
沒有留言:
張貼留言
使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。
我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。