STM32定時(shí)器有編碼器接口,但是它的計(jì)數(shù)器只有16位。當(dāng)要記錄的數(shù)過大時(shí),會溢出。下文介紹了一種方法,能有效解決因計(jì)數(shù)器位數(shù)過少引起的溢出問題。
(在網(wǎng)上搜了好多,感覺不他們說的方法都不準(zhǔn)。這個(gè)方法經(jīng)過我自己驗(yàn)證,可以準(zhǔn)確記錄編碼器的位置)
原理一:
unsigned short int j;(j的長度為16bit)
① 當(dāng)j=65535 ,運(yùn)行j++后,j=0;
② 當(dāng)j=0 , 運(yùn)行j- -后,j=65535;
定時(shí)器的16位計(jì)數(shù)器寄存器(CNT)同樣符合上面的邏輯。在編碼器模式時(shí),
(一)當(dāng)加計(jì)數(shù)時(shí)(up計(jì)數(shù)),加到65535后,再加1,CNT的值變?yōu)?,且溢出標(biāo)志位 被置1(UIF=1),
(二)當(dāng)減計(jì)數(shù)時(shí)(down計(jì)數(shù)),減到0后,再減1,CNT的值變?yōu)?5535,且溢出標(biāo)志位被置1(UIF=1),
當(dāng)溢出中斷被使能時(shí)(UIE=1),(一)、(二)兩種情況都會觸發(fā)中斷,在中斷函數(shù)中判斷CNT的值,就可以判斷是加溢出還是減溢出,用一個(gè)變量(update)記錄溢出的次數(shù)
signed int update;
if(CNT < 32768)
{
update++;
}
else
{
update--;
}
若使用圓形編碼器,update的正負(fù)表示是順時(shí)針還是逆時(shí)針轉(zhuǎn)動(dòng)
假設(shè)update正為順時(shí)針轉(zhuǎn)動(dòng)
當(dāng)update為正
update * 65535 + CNT當(dāng)前值 就是順時(shí)針轉(zhuǎn)動(dòng)的步數(shù)
當(dāng)update為負(fù)
(0-update*65536-CNT當(dāng)前值 就是逆時(shí)針轉(zhuǎn)動(dòng)的步數(shù)
也可以按照自己的實(shí)際情況修改算法來記錄轉(zhuǎn)動(dòng)步數(shù)
上一篇:STM32配置多個(gè)定時(shí)器同時(shí)為光電編碼模式的注意事項(xiàng)
下一篇:stm32編碼器的接口模式
推薦閱讀
史海拾趣
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- API調(diào)用小記(Touchdesigner和ESP32)
- 關(guān)于ESP32/8266使用async-mqtt-client庫的一些基本介紹
- 座椅、天窗、電動(dòng)尾門應(yīng)用 國產(chǎn)車規(guī)級高壓霍爾效應(yīng)傳感器推薦
- 突發(fā)!又一車企車機(jī)“崩了”
- 寧德時(shí)代為陳立泉院士頒發(fā)“卓越貢獻(xiàn)獎(jiǎng)”
- 一文速覽吉利雷神 AI 電混 2.0 發(fā)布會重點(diǎn)
- 2025年1-4月ADAS供應(yīng)商裝機(jī)量排行榜:頭部集中與國產(chǎn)突圍并存
- 國內(nèi)飛行汽車無線通信測試成功,通信安全新突破
- SPAD席卷車載激光雷達(dá)市場
- 大聯(lián)大品佳集團(tuán)推出基于Microchip和ams OSRAM產(chǎn)品的10Base-T1S萬級像素大燈方案
- 哈曼推出采用三星Neo QLED技術(shù)的全新顯示屏
- Syntiant推出超低功耗汽車AI創(chuàng)新技術(shù) 提升車輛安全性和用戶體驗(yàn)
- DigiKey應(yīng)用探索站重磅上線!潮流應(yīng)用,硬核技術(shù)探秘,N多干貨,一站get!
- 有獎(jiǎng)直播報(bào)名|瑞薩RA MCU家族成員快速增長,助力打造安全穩(wěn)定的工業(yè)控制系統(tǒng)
- Digi-Key KOL視頻來襲~資深算法工程師暢聊圖像處理秘訣
- 是德科技 DATA Center 資料,滿足您的需求~下載有好禮!
- 有獎(jiǎng)活動(dòng):說說我知道的嵌入式操作系統(tǒng)
- 直播已結(jié)束|安世新一代高效的氮化鎵(GaN)電源設(shè)計(jì)方案
- 【Molex莫仕工業(yè)通訊與安全解決方案】
- 看視頻,了解 Vishay 汽車級功率器件,提問有好禮!
- 【投票跟帖有禮】原廠的翻新儀器懟市場上的二手儀器,你頂誰?
- 瀾起科技正式過會,內(nèi)存接口芯片領(lǐng)軍者是如何煉成的?
- Apple正測試一項(xiàng)無密碼認(rèn)證功能
- 山東山東省優(yōu)選項(xiàng)目:十幾個(gè)都是跟半導(dǎo)體相關(guān)
- 華為將在6月17日召開5G+AR峰會
- 來聽聽大咖們?nèi)绾畏治鰴C(jī)器人市場該如何發(fā)展?
- 餐飲行業(yè)模式新升級 機(jī)器人成發(fā)展新主力
- Silicon Labs宣布開放Z-Wave標(biāo)準(zhǔn)計(jì)劃
- 未來的CAN是啥樣子—CAN XL構(gòu)想
- 如何將示波器用出波形記錄儀的效果
- 技術(shù)文章—揭秘如何保證EPS穩(wěn)定可靠
- 光電鼠標(biāo)如何探測位移
- 筆記本計(jì)算機(jī)進(jìn)入Vista過渡期,促2007年DRAM放量增長
- 硬件工程師的基礎(chǔ)知識
- 嵌入式開發(fā)精品書籍推薦(十七)---嵌入式系統(tǒng)--體系結(jié)構(gòu)編程與設(shè)計(jì)
- 曬----------------------------------------------------電磁爐
- BT Helper 1.1 漢化版
- 本人4年wince平臺應(yīng)用、驅(qū)動(dòng)開發(fā)經(jīng)驗(yàn),求Wince平臺兼職,13910531491
- 大功率白色發(fā)光二極管的特性研究
- 希望有人能幫忙看看我這個(gè)TM4C123G的最小系統(tǒng)原理圖是否正確
- STM8S的C編譯器太貴了!那位大俠處理一下啊!