版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、STM32關(guān)于使用定時器觸發(fā)ADC轉(zhuǎn)換的解決辦法和詳細說明本人在使用STM32上的TIM2_CC2觸發(fā)ADC轉(zhuǎn)換的時候,發(fā)現(xiàn)始終調(diào)不出來,在網(wǎng)上找到了一些有價值的參考信息,然后在不懈的尋根究底下,終于找到問題的原因,廢話少說,進入正題:以STM32ADC的常規(guī)通道為例(注入通道類似):如上圖,STM32ADC的常規(guī)通道可以由以上6個信號觸發(fā)任何一個,我們以使用TIM2_CH2觸發(fā)ADC1,獨立模式,每次僅測一條通道,則ADC的配置如下:
2、(以下代碼使用STM32固件庫V3.5)voidADC_Configuration(void)ADC_InitTypeDefADC_InitStructureADC_InitStructure.ADC_Mode=ADC_Mode_IndependentADC_InitStructure.ADC_ScanConvMode=DISABLE關(guān)閉通道掃描模式ADC_InitStructure.ADC_ContinuousConvMode=DIS
3、ABLE注意不要使用持續(xù)轉(zhuǎn)換模式,否則只要觸發(fā)一次,后續(xù)的轉(zhuǎn)換就會永不停歇(除非CONT清0),這樣第一次以后的ADC,就不是由TIM2_CC2來觸發(fā)了ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_T2_CC2配置TIM2_CC2為觸發(fā)源ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_RightADC_InitStruc
4、ture.ADC_NbrOfChannel=1ADC_Init(ADC1RCC_ADCCLKConfig(RCC_PCLK2_Div6)配置時鐘(12MHz)在RCC里面還應(yīng)配置APB2=AHB時鐘72MHz,ADC_RegularChannelConfig(ADC1ADC_Channel_81ADC_SampleTime_1Cycles5)ADC_Cmd(ADC1ENABLE)ADC_ResetCalibration(ADC1)whi
5、le(ADC_GetResetCalibrationStatus(ADC1))ADC_StartCalibration(ADC1)StartCalibrationregisterwhile(ADC_GetCalibrationStatus(ADC1))waitingffinishingthecalibrationADC_ExternalTrigConvCmd(ADC1ENABLE)設(shè)置外部觸發(fā)模式使能(這個“外部“其實僅僅是相對于ADC
6、模塊的外部,實際上還是在STM32內(nèi)部)這里再注意一點上面左圖最頂上的那句話:當(dāng)外部觸發(fā)信號被選為ADC規(guī)則或注入轉(zhuǎn)換時,只有它的上升沿可以啟動轉(zhuǎn)換。這跟下面的定時器2的正確配置關(guān)系很大。register是TIM2_CCRx寄存器。要使用TIM2的CC2來觸發(fā)ADC,看懂這個圖是關(guān)鍵。首先要明確,這個圖的紅框部分和藍框部分,是不會同時工作的,紅框是配置為輸入捕捉模式才能生效,藍框是配置為輸出比較模式才能生效,通過配置TIM2_CCMR1
7、_CC2S來控制TIM2_CC2究竟是處于哪種模式(CC2S=0為比較輸出,0為輸入捕捉),請注意:這里藍框的其中一個輸出是TIMx_CH2,而TIM2_CH2又是ADC規(guī)則通道的觸發(fā)源,也就是說如果要觸發(fā)ADC,則需要每次比較匹配時,在TIM2_CH2上產(chǎn)生一次上升沿。那么我們首先需要操作藍框內(nèi)的最左邊部分也就是OC2REF,要使比較匹配時發(fā)生一次上升沿,(以定時器向上計數(shù)為例,)就需要在TIM2_CNT=TIM2_CCR2時,通道2
8、為高電平。從參考手冊定時器一章4.7節(jié)的CCMR1寄存器中的0C2M[2:0]的介紹可以看出來,只有在PWM模式才能滿足上面所說的條件,任何單純的凍結(jié)、配置OC2REF為高或者為低、強制OC2REF為高或者為低,都無法滿足要求,不少同學(xué)就是死在這個上面,以為是配置TIMING模式,實際上這樣根本無法改變OC2REF的電平,就無從觸發(fā)ADC了。CCMR1_CCxS(x為1、2、3、4,決定是哪個通道)是選擇為捕捉輸入還是比較輸出,這里我們
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- stm32定時器定時器時間的計算
- stm32入門篇之通用定時器徹底研究
- 基于stm32的定時器產(chǎn)生pwm的研究【開題報告】
- 畢業(yè)設(shè)計----基于stm32定時器產(chǎn)生pwm的研究
- stm32 步進電機換向程序(中斷優(yōu)先級的嵌套和通用定時器的使用)
- 05-stm32f4通用定時器詳細講解
- stm32啟動概述
- stm32學(xué)習(xí)資料
- 基于STM32的觸發(fā)視頻采集存儲系統(tǒng)設(shè)計.pdf
- stm32 printf重定向
- 定時器定時1秒
- stm32簡介外文翻譯
- stm32庫函數(shù)解釋
- stm32數(shù)字示波器設(shè)計
- stm32 學(xué)習(xí)筆記2
- stm32實驗報告
- 定時器85044
- js定時器
- 定時器84516
- 集成定時器
評論
0/150
提交評論