靈動微MM32F013x晶元學習 ADC

2021-10-09 17:11:31 字數 787 閱讀 3192

mm32f013x的adc還是蠻好用的,每乙個adc通道都有乙個自己的結果暫存器。當啟用連續轉換模式時,adc就可以自動更新轉換結果到各自的結果暫存器,使用者只需要直接讀取結果暫存器即可,省去很多麻煩。由於adc最快轉換時間僅為1us,即使10個通道全部轉換一次的時間也只有10us,對於一般的控制也是足夠用的。還記得當初使用nxp晶元時,只有乙個結果暫存器,每次都要修改轉換通道,等待轉換,而且還要考慮函式 的可重入性問題,甚是麻煩,而且也會浪費cpu的時間資源。靈動微的這點做的還是不錯。下面就上**:

void adc_init(void)

**功能:實現通道0-9的自動轉換,結果可在相應結果暫存器直接讀取.

主要配置步驟:

1,引腳復用配置,要配置為模擬輸入模式

2,使能adc時鐘

3,adc模組復位,保證暫存器內容復位(這步可省略,因為上電復位效果一樣)

4,配置adc時鐘速率,adc模組時鐘最快16mhz,老實按照手冊做,不要找過這個數,具體的分頻根據自己的實際時鐘頻率確定

5,設定為連續轉換模式,就是adc自己不停的自動轉換,不需要cpu的干預

6,轉換結果右對齊,方便讀取操作

7,使能要轉換的adc通道,mm32f013x有10個外部adc通道,這裡全部開啟。當然,可以只開啟自己想轉換的通道,整個adc資料更新的週期就更小,因為10us的更新週期已經可以滿足我的需求,所以,這裡全部使能

8,使能adc模組

9,開啟轉換,這次才會觸發adc轉換,一旦開啟,adc就會自動更新結果暫存器

總結,mm32f013x的adc模組功能強大,而且操作起來相當簡單

靈動微MM32F013x晶元學習 MCO時鐘輸出

我們在配置mcu時鐘時,為了驗證配置結果是否正確,可以通過mco這個引腳檢視時鐘頻率。很多晶元都有這個引腳的,之前使用nxp晶元時,也有這個引腳。下面說一下mm32f013x的mco使用。我這裡的時鐘配置時內部rc時鐘經過內部pll倍頻到72m,時鐘配置忽略,只說mco輸出配置.1,mco輸出選擇 ...

靈動微MM32F013x晶元學習 TIM14定時器

這裡只把tim14作為乙個定時器使用,設定乙個時間,定時中斷。整個操作還是比較簡單,只是關於tim14的時鐘頻率問題,掉到了坑里。由於靈動微的手冊中並沒有詳細描述各個外設模組的時鐘源,而在apb2enr暫存器中看到使能位,導致誤以為其時鐘為pclk2是tim14的時鐘。而實際tim14的時鐘源如下圖...

分享靈動微國產32位MCU全新MM32F系列

全新mm32系列是靈動微電子於2020年推出的新一代通用mcu平台,旨在為客戶提供更高效能 更低功耗 更高可靠性 穩定性和健壯性的微控制器。全新mm32硬體上與經典mm32全相容,保留了2.0 5.5v寬壓供電設計。mm32f系列是靈動微電子新一代mm32系列中率先公升級推出的通用高效能mcu平台。...