這裡只把tim14作為乙個定時器使用,設定乙個時間,定時中斷。
整個操作還是比較簡單,只是關於tim14的時鐘頻率問題,掉到了坑里。由於靈動微的手冊中並沒有詳細描述各個外設模組的時鐘源,而在apb2enr暫存器中看到使能位,導致誤以為其時鐘為pclk2是tim14的時鐘。而實際tim14的時鐘源如下圖,
tim14的時鐘經過apb2分頻後,又經過了乙個倍頻模組。此模組的倍頻係數為1或2。當apb2的分頻係數為1時,不倍頻。當apb2的分頻係數不為1,則倍頻為2倍。這點大家要格外注意!!!下面上**:
void tim14_init(void)
void tim14_irqhandler(void)
}乙個是初始化函式,乙個是中斷服務函式。我的apb2分頻為1,apb2時鐘頻率為72m,所以上面的設定週期為50ms。
中斷服務函式的名字**於啟動檔案startup.s(唯一的彙編檔案,mcu工作執行的第一段程式),這裡的函式是弱宣告函式,如果使用者定義了,編譯器會使用使用者定義的函式進行鏈結。若使用者沒有定義,則使用這裡預設的函式進行鏈結,這個操作很好很方便。
靈動微MM32F013x晶元學習 ADC
mm32f013x的adc還是蠻好用的,每乙個adc通道都有乙個自己的結果暫存器。當啟用連續轉換模式時,adc就可以自動更新轉換結果到各自的結果暫存器,使用者只需要直接讀取結果暫存器即可,省去很多麻煩。由於adc最快轉換時間僅為1us,即使10個通道全部轉換一次的時間也只有10us,對於一般的控制也...
靈動微MM32F013x晶元學習 MCO時鐘輸出
我們在配置mcu時鐘時,為了驗證配置結果是否正確,可以通過mco這個引腳檢視時鐘頻率。很多晶元都有這個引腳的,之前使用nxp晶元時,也有這個引腳。下面說一下mm32f013x的mco使用。我這裡的時鐘配置時內部rc時鐘經過內部pll倍頻到72m,時鐘配置忽略,只說mco輸出配置.1,mco輸出選擇 ...
分享靈動微國產32位MCU全新MM32F系列
全新mm32系列是靈動微電子於2020年推出的新一代通用mcu平台,旨在為客戶提供更高效能 更低功耗 更高可靠性 穩定性和健壯性的微控制器。全新mm32硬體上與經典mm32全相容,保留了2.0 5.5v寬壓供電設計。mm32f系列是靈動微電子新一代mm32系列中率先公升級推出的通用高效能mcu平台。...