STM32CubeMx配置正交編碼器遇到的問題


配置時參考了這個哥們的方法:

http://www.eemaker.com/stm32cubemx-encoder.html

然后我的配置是這樣的

配置是沒有問題。

調用時出現了問題。

由於配置完了,我擔心它立即生效,怕影響運動,然后我就想配置完先把TIM3的時鍾關閉:

__HAL_RCC_TIM3_CLK_DISABLE();

這樣先不讓它使能。

誰知這樣是不對的,即使后面我用了MX_TIM3_Init();對定時器進行再次徹底初始化,也是沒有用,讀到定時器值一直為0.

后來細看了一下那哥們的文章:發現后面倒數2句

HAL_TIM_Encoder_Start(&htim3, TIM_CHANNEL_ALL);

沒有用上!!

於是去掉第一句__HAL_RCC_TIM3_CLK_DISABLE();加上HAL_TIM_Encoder_Start(&htim3, TIM_CHANNEL_ALL);

OK!

整個過程有點懵。

后來細想,好像有明白HAL庫的套路了:模塊配置完並沒有立即生效,尤其是定時器,還需要另外一句話來開啟!

嗯就這~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM