一东羹,前言
之前說過我雙11買了邏輯分析儀剂桥,那么很多關(guān)于多引腳波形的小項目就啟動的,特別是類似輸入捕獲這類属提,我之前僅雙通道示波器权逗,若要看很多引腳,我覺得麻煩冤议,不想用示波器斟薇,就會導(dǎo)致不去做某些小項目。
二恕酸,編碼器(霍爾正交波形)
其實霍爾元器件也是常見的堪滨,只是我的工作主要是搞網(wǎng)絡(luò)協(xié)議的,這類霍爾元器件用不到尸疆,所以工作中用不到椿猎,那么業(yè)余時間就想玩玩了。網(wǎng)上看到了一個示波器項目寿弱,我比較感興趣犯眠,里面就用到了E11編碼器,所以我也買了一個症革。且學(xué)習(xí)了下此霍爾正交波形筐咧。用邏輯分析儀先看了下實際波形
1.知識點如下:
霍爾正交波形,S1下降沿觸發(fā),S1和S2相同則為正向量蕊,否則為反向铺罢。
正向波形:紅色為S1,藍(lán)色為S2
反向波形:紅色為S1残炮,藍(lán)色為S2
抖動
2.這些抖動應(yīng)該怎么處理
網(wǎng)上搜索下了韭赘,居然有硬件電路可以防抖,而我只能用軟件势就,那么就想到了按鍵的防抖泉瞻,不就是多讀幾次,但是這個不能多讀幾次苞冯,所以最簡單的就是用延時袖牙。當(dāng)前中斷中用延時,那么我優(yōu)先級要設(shè)置的低些舅锄,被打斷也不要緊鞭达。第一次S1的下降沿有漏幀沒有觸發(fā)中斷也不要緊,后面還有那么多次皇忿。通過多次測試波形畴蹭,我決定延時設(shè)置為50us差不多了。
3.我的設(shè)計
PE5(DCMI_D6)--S1禁添,設(shè)置為下降沿捕獲
PE6(DCMI_D7)--S2撮胧,設(shè)置為input口
PG9(DCMI_PWDN)—Button,設(shè)置為下降沿捕獲
移植了開源示波器中對S1和S2及button的處理代碼老翘,測試通過芹啥。正轉(zhuǎn)數(shù)值加1,翻轉(zhuǎn)數(shù)值減1铺峭。
最后通過之前的st7735彩屏顯示墓怀。value:數(shù)值如下,當(dāng)前顯示的是7
三卫键,小結(jié)
底層我用stm32的CubeMx配置的外部觸發(fā)中斷傀履,分分鐘小的應(yīng)用項目就完成了,我手里能用來造輪子和復(fù)用的代碼越來越多了莉炉,哈哈~