他確認正確配置了TIM1并使其正常工作,定時溢出,同時在ADC相關寄存器里也做了外部觸發使能和觸發源[TIM1 TRGO]的選擇。

按理說,到此應該可以正常定時AD采樣了,可往往好事多磨。結果并不是所期待的定時AD采樣。
后來發現問題出在TRGO事件這個地方,誤以為TIM1每次溢出就會產生所期待的TRGO事件。其實,事實并非如此。

顯然,對于TIM1,TRGO的事件源有多個選項可以選擇,默認狀態時只有RESET事件才產生TRGO ,這分明不是當事人所期望的,應該配置為UPDATE 事件才合適。客戶工程師增加相關代碼后正常運作。
說實在的,對于操作寄存器的人來說,尤其頭次使用該功能的話的確容易出現類似上面的疏忽。當然,如果用STM32系列的MCU做同樣的事情,也有類似的配置問題,即除了使能外部觸發和選擇外部觸發事件TRGO外,還要記得對TRGO事件的進一步選擇配置,默認的可能并非你要的。
來來去去 發表于 2017-12-9 20:20
求講解一下這個所謂的update事件是什么含義啊 跪求
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |