Re: [問題] 量測脈波寬度
※ 引述《BlueFeel (藍色感覺)》之銘言:
: 請教一下,
: 如果我要設計一個....
: pin2 輸入負脈波寬度>1ms , pin1 = 1
: <1ms , pin1 = 0
: 的功能
: 剛開始以為 pin2用INT0(外部中斷)做
: 在中斷函式內 寫個 計數器,
: 當跳開後,會依計數值做pin1判斷1還是0
: 後來發現,我誤會中斷的意義
: 它是 "下緣觸發".....就跳進中斷函式,做計數沒錯
: 但這計數....值並非並非是負脈波寬度
: 怎麼說??
: 跳到中斷計數....這計數只計1次.....非我想像的一直計數到 rising才停
: 所以想跟大大請教一下
: 這樣的應用該怎麼做呢??
我之前也是要做量測PWM Duty的function,也是想了好久
因為你duty的精度跟你MCU count的快慢強相關...
當你的PWM頻率一快時,計數出來的結果,換算回Duty其實不太準
不過你如果只是要判斷大於1ms就可以,超過一點沒關系的話那就還好
我最後的方法是 直接讓他進一個RC filter...
再用ADC去捉那個dc值回來,而你如果只是要比固定的寬度,
不用ADC,直接加個比較器也行 - MCU中斷輸入直接接比較器輸出
來改變pin1的輸出
一點建議,希望沒誤會你的需求。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.105.111.229
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章