stm32cubemx配置編碼器

2021-10-09 08:08:00 字數 920 閱讀 3219

首先開啟timer2的encoder模式:

配置系統時鐘。

配置具體定時器的引數:

選擇的encodermode是 ti1和ti2模式。這種模式下,ab兩相的上公升沿和下降沿都會計數,所以計數值是實際值的4倍,需要做分頻。也就是第乙個引數,分頻值設為3,實際上是3+1=4分頻。

還有個地方需要解釋一下,我剛開始的時候就是把這裡的設定沒搞清楚,看polarity引數設定的是rising edge。這個引數的意思是在檢測到上公升沿的時候就觸發encoder捕獲ab相的值,而並不是這裡設定的是上公升沿就只檢測ab相的上公升沿,下降沿還是同樣會計數的。
input filter濾波值是從1-15,看情況設定,是用來濾除一些雜波的。

這樣基本就配置好了,生成mdk工程。

然後就是新增應用**了。

在初始化中新增開啟定時器的encoder模式:

hal_tim_encoder_start

(&htim2, tim_channel_all)

;

然後定期呼叫下面這一句函式就可以獲取到encoder編碼器的計數值:

enc1 =

(uint32_t)

(__hal_tim_get_counter

(&htim2));

//獲取定時器的值

使用stm32CubeMX配置的USB虛擬串列埠功能

本文採用stm32f103c8t6最新系統板進行配置。晶振和時鐘設定 啟用usb功能 選擇usb device選項設定,選擇虛擬埠 根據自己的情況設定工程 根據自己的情況設定包含檔案 生成工程前,檢視advanced settings選項 int main void 新增的輸出內容 燒錄有,板子斷電...

STM32CubeMX系列 待機喚醒

1.低功耗模式簡介 系統或電源復位後,微處理器處於執行狀態,執行狀態下hclk為cpu提供時鐘,核心執行程式 當cpu不需繼續執行時 例如等待某個外部事件 可以利用多個低功耗模式來節省功耗。使用者需要根據最低電源消耗 最快速啟動時間和可用的喚醒源等條件,選定乙個最佳的低功耗模式。stm32提供了3種...

STM32CubeMX系列 記憶體管理

1.記憶體管理簡介 stm32f103zet6內部有64kb的sram記憶體,加上外擴的128kb容量的sram後,可使用的記憶體還是比較多的。本例程將介紹一種簡單的記憶體管理方式 即分塊記憶體管理 來有效管理這些記憶體,類似於c語言中通過malloc函式和free函式來申請和釋放記憶體 記憶體管理...