藍橋杯嵌入式之軟體捕獲PWM Again

2021-10-24 03:32:58 字數 1043 閱讀 3852

備註:由於疫情影響,藍橋盃賽事推遲數月,現在距離初賽還有20天左右,在此準備期間,以部落格作筆記,記錄**和注意事項。

軟體捕獲pwm:通過利用中斷的觸發特性:分別在上公升沿和下降沿處記錄計數器的資料,並以此計算頻率和占空比。

注意:對所有通道都適用,但資料會有誤差。

**初始化函式

#include

"capture.h"

void

cap_init

(void

)

中斷函式

u8 tim2_ch2_cap_mode =0;

u32 tim2_ch2_cap_h=0;

//第一次計數:占空比對應的計數量

u32 tim2_ch2_cap_hl=0;

//第二次計數:週期對應的計數量

void

tim2_irqhandler

(void)}

}

呼叫

extern u8 tim2_ch2_cap_mode;

extern u32 tim2_ch2_cap_h;

extern u32 tim2_ch2_cap_hl;

u8 str[20]

;while(1)

}

注意:

1.

io口為上拉輸入gpio_mode_ipu

2.呼叫tim_icinit()初始化

3.初始化中觸發中斷方式:上公升沿

4.直連

不分頻不濾波

5.中斷函式裡的計數量tim2_ch2_cap_h

資料型別為u32,防止下面計算溢位

6.呼叫時tim2_ch2_cap_mode

不要忘記清零

藍橋杯嵌入式 USART

乙個是串列埠 1 pa9,pa10 乙個是串列埠 2 pa2,pa3 我們的藍橋杯嵌入式開發板並不能直接使用串列埠 1rxbuf 是用來儲存串列埠的接收資料的,rxover 為接收串列埠結束標誌位,rxcunt 為串列埠接收計數值 ifndef usart h define usart h incl...

藍橋杯嵌入式 LCD

include stm32f10x.h include lcd.h include stdio.h u8 string 20 u8 temp 30 float ao 3.81 u32 timingdelay 0 void delay ms u32 ntime main body int main v...

藍橋杯嵌入式 RTC

bkp裡是關於備份暫存器的庫函式,pwr裡是關於電源管理的庫函式 ifndef rtc h define rtc h include stm32f10x.h void rtc init u8 hh,u8 mm,u8 ss endif include rtc.h void rtc init u8 hh...