基於stm32的遙控小船(四)矩陣鍵盤

2021-07-07 09:22:06 字數 648 閱讀 5366

矩陣鍵盤有兩種操作方式……掃瞄法和反轉法……我使用的是第一種方法

這裡我改的應該是原子的例程【……?】4個引腳接行線(配置為通用推挽輸出),4個引腳接列線(配置為下拉輸入,均是低電平),然後開始掃瞄……掃瞄的方法也有兩種……可以配置暫存器或者使用庫函式……個人覺得暫存器法好用又好看……!

先讓列線置高電平,若行線均為低電平,則無鍵按下,返回-1

***x0000&11110000|00001111=***x1111(***x為行線各引腳狀態)

延時去抖後再檢測,若不變說明鍵確實按下0v0

然後開始檢測是哪乙個鍵按下……將列線逐列拉高……檢測行線的值,用switch語句進行判斷返回不同的鍵值(一列一列檢測,case語句後面的四個鍵值,相鄰兩個鍵值之差應為4)

改好之後串列埠除錯如圖

第0個鍵按下時,主機向從機傳送一組,從機收到後再進行相應處理……

基於stm32的遙控小船(三)PWM調速

所謂pwm 其實就是用計時器計數 當計數到指定的值時發生電平跳變 我是由高到底 用在迴圈裡就會得到乙個漂亮的方波了 我使用的l298n驅動模組有兩個使能口ena和enb,在這裡輸入pwm訊號 調速 然後調整in1,in2,in3,in4的引腳正負 控制動作 就可以完成了 但是當時我出於對跳帽的恐懼 ...

基於stm32的遙控小船(一)L298N電機驅動

l298n的資料網上一搜一大把 作為初學者的我最開始花了一下午在接線上,問題出在哪兒呢 就是跳帽!開始不清楚插拔跳帽之後有什麼作用 結果浪費了很多時間。我用的l298n模組上一共有三個跳帽,其中兩個是使能端 ena,enb 當它插在上面的時候,使能ena,enb,若要pwm調速,需對使能端輸出pwm...

基於stm32的遙控小船(一)L298N電機驅動

l298n的資料網上一搜一大把 作為初學者的我最開始花了一下午在接線上,問題出在哪兒呢 就是跳帽!開始不清楚插拔跳帽之後有什麼作用 結果浪費了很多時間。我用的l298n模組上一共有三個跳帽,其中兩個是使能端 ena,enb 當它插在上面的時候,使能ena,enb,若要pwm調速,需對使能端輸出pwm...