(9)藍橋杯嵌入式 定時器(輸入捕獲模式)

2021-10-18 23:02:40 字數 939 閱讀 3047

會新建單獨的 capture.c 和 capture.h 放到haraware資料夾下

問題一:

根據它的硬體連線,沒按下時為高電平,按下時為低電平。所以我們設定第一次為下降沿觸發(這樣符合我們程式的邏輯)

問題二:

1、因為使能了定時器,定時器一直在計數,更新中斷一直觸發

2、如果沒有用這個標誌位的話,溢位變數會一直自加

3、所以設定下公升沿觸發中斷的時候(也就是我們按下按鍵時)標誌位為1(這時候才可以開始計算溢位次數)

問題三:

當我們按下按鍵時,開始計數,把下降沿觸發換成上公升沿觸發,標誌位置1,進入下乙個狀態(鬆開狀態)

當我們鬆開按鍵時,儲存計數值,把上公升沿觸發換成下降沿觸發,標誌位值2,進入下乙個狀態(計算狀態)

問題四:

1、定時器時鐘分頻後為:1mhz=1us

2、十六進製制轉為十進位制:0xffff=65535

3、除以1000是把單位 us 變成 ms

時 間m

s=((

儲存的計

數器值)

+(溢位

數∗65535))

/1000

時間ms = ((儲存的計數器值)+(溢位數*65535))/1000

時間ms=(

(儲存的

計數器值

)+(溢

出數∗6

5535

))/1000

藍橋杯嵌入式讀寫EEPROM 定時器設定

1 iic讀寫eeprom這個要自己寫哦 沒有參考 uint8 t e2prom read uint8 t address void e2prom write unsigned char address,unsigned char info 2 主程式呼叫 千萬記得i2c init i2c init...

(8)藍橋杯嵌入式 定時器(輸出比較模式)

會新建單獨的 pwm.c 和 pwm.h 放到haraware資料夾下 問題二 以tim2通道二為例 1 在之前就已經把計數器和比較值清零 由於是輸出比較模式 則相等進入中斷 2 進入中斷後,判斷標誌位 1時。則設定 比較值 當前值 前占空比值 這是下一次進入中斷計數器得計數到的值 3 標誌位取反 ...

藍橋杯嵌入式 按鍵輸入

博主從硬體方面和軟體方面進行講解。硬體方面,我們先來看看按鍵模組的物理連線。我們很容易的發現,當我們按下按鍵的時候,nk1 ps以這個按鍵為例 電平將會被拉低。試想如果這個與nk1相連的的管腳如果在沒有按下按鍵的時候保持高電平,我們只需要檢測管腳訊號的變化既可以知道有無按鍵按下。還有乙個關於硬體方面...