以STM32 ADC的常規(guī)通道為例(注入通道類似):
如上圖,STM32 ADC的常規(guī)通道可以由以上6個(gè)信號觸發(fā)任何一個(gè),我們以使用TIM2_CH2觸發(fā)ADC1,獨(dú)立模式,每次僅測一條通道,則ADC的配置如下:(以下代碼使用STM32固件庫V3.5)
void ADC_Configuration(void)
{
ADC_InitTypeDef ADC_InitStructure;
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //關(guān)閉通道掃描模式
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
//注意不要使用持續(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_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
ADC_Init(ADC1, &ADC_InitStructure);
RCC_ADCCLKConfig(RCC_PCLK2_Div6);//配置時(shí)鐘(12MHz),在RCC里面還應(yīng)配置APB2=AHB時(shí)鐘72MHz,
ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 1, ADC_SampleTime_1Cycles5);
ADC_Cmd(ADC1,ENABLE);
ADC_ResetCalibration(ADC1);
while(ADC_GetResetCalibrationStatus(ADC1));
ADC_StartCalibration(ADC1); //Start Calibration register
while(ADC_GetCalibrationStatus(ADC1));//waiting for finishing the calibration
ADC_ExternalTrigConvCmd(ADC1, ENABLE);
//設(shè)置外部觸發(fā)模式使能(這個(gè)“外部“其實(shí)僅僅是相對于ADC模塊的外部,實(shí)際上還是在STM32內(nèi)部)
}
這里再注意一點(diǎn)上面左圖最頂上的那句話:當(dāng)外部觸發(fā)信號被選為ADC規(guī)則或注入轉(zhuǎn)換時(shí),只有它的上升沿可以啟動轉(zhuǎn)換。這跟下面的定時(shí)器2的正確配置關(guān)系很大。
void TIM2_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_TimeBaseStructure.TIM_Period = 10000; //設(shè)置100ms一次TIM2比較的周期
TIM_TimeBaseStructure.TIM_Prescaler = 719;//系統(tǒng)主頻72M,這里分頻720,相當(dāng)于100K的定時(shí)器2時(shí)鐘
TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, & TIM_TimeBaseStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;//下面詳細(xì)說明
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//TIM_OutputState_Disable;
TIM_OCInitStructure.TIM_Pulse = 5000;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;//如果是PWM1要為Low,PWM2則為High
TIM_OC2Init(TIM2, & TIM_OCInitStructure);
TIM_Cmd(TIM2, ENABLE);
TIM_InternalClockConfig(TIM2);
TIM_OC2PreloadConfig(TIM2, TIM_OCPreload_Enable);
TIM_UpdateDisableConfig(TIM2, DISABLE);
}
還是來引用參考手冊的原圖:(截圖引自通用定時(shí)器一章)
上圖中紅藍(lán)兩個(gè)框的中間部分,頂上是TIM2的自動重裝寄存器和計(jì)數(shù)器寄存器,下面4個(gè)Capture/compare x register是TIM2_CCRx寄存器。
要使用TIM2的CC2來觸發(fā)ADC,看懂這個(gè)圖是關(guān)鍵。
首先要明確,這個(gè)圖的紅框部分和藍(lán)框部分,是不會同時(shí)工作的,紅框是配置為輸入捕捉模式才能生效,藍(lán)框是配置為輸出比較模式才能生效,通過配置TIM2_CCMR1_CC2S來控制TIM2_CC2究竟是處于哪種模式(CC2S=0為比較輸出,>0為輸入捕捉),請注意:這里藍(lán)框的其中一個(gè)輸出是TIMx_CH2,而TIM2_CH2又是ADC規(guī)則通道的觸發(fā)源,也就是說如果要觸發(fā)ADC,則需要每次比較匹配時(shí),在TIM2_CH2上產(chǎn)生一次上升沿。
那么我們首先需要操作藍(lán)框內(nèi)的最左邊部分也就是OC2REF,要使比較匹配時(shí)發(fā)生一次上升沿,(以定時(shí)器向上計(jì)數(shù)為例)就需要在TIM2_CNT時(shí),通道2為低電平,TIM2_CNT>=TIM2_CCR2時(shí),通道2為高電平。
從參考手冊定時(shí)器一章4.7節(jié)的CCMR1寄存器中的0C2M[2:0]的介紹可以看出來,只有在PWM模式才能滿足上面所說的條件,任何單純的凍結(jié)、配置OC2REF為高或者為低、強(qiáng)制OC2REF為高或者為低,都無法滿足要求,不少同學(xué)就是死在這個(gè)上面,以為是配置TIMING模式,實(shí)際上這樣根本無法改變OC2REF的電平,就無從觸發(fā)ADC了。
CCMR1_CCxS(x為1、2、3、4,決定是哪個(gè)通道)是選擇為捕捉輸入還是比較輸出,這里我們需要配置為輸出。
以上兩段配置程序,可以以100ms的周期驅(qū)動AD轉(zhuǎn)換一次,不再需要使用TIM和ADC中斷資源。
總結(jié):想要使用STM32的定時(shí)器觸發(fā)ADC,必須將定時(shí)器配置為比較輸出PWM模式,并且一定要注意TIMx_CHx輸出上升沿才出發(fā),若是在比較匹配的瞬時(shí)產(chǎn)生的不是上升沿而是下降沿,那么就不一定是在比較匹配的瞬間觸發(fā)ADC了,特別是在類似于電機(jī)控制的應(yīng)用中要注意這一點(diǎn)。
上一篇:ARM單片機(jī)匯編指令使用二
下一篇:單片機(jī)AD轉(zhuǎn)換匯總
推薦閱讀
史海拾趣
為了拓展全球市場,ETC2公司制定了國際化戰(zhàn)略。他們積極參加國際展覽和交流活動,與國際同行建立了廣泛的合作關(guān)系。同時(shí),ETC2公司還針對不同國家和地區(qū)的市場特點(diǎn),推出了定制化的ETC產(chǎn)品和服務(wù)。這些舉措不僅幫助ETC2公司成功打入國際市場,也為其未來的發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
宏發(fā)公司在發(fā)展過程中,積極實(shí)施國際化戰(zhàn)略。2003年,宏發(fā)成立了歐洲公司,加快了國際化進(jìn)程。隨后,公司又在美國等地設(shè)立了分支機(jī)構(gòu),建立了本土化營銷及服務(wù)網(wǎng)絡(luò)。通過國際市場的拓展,宏發(fā)不僅提升了品牌知名度和影響力,還獲得了更多的市場機(jī)會和客戶資源。如今,宏發(fā)的產(chǎn)品已暢銷全球多個(gè)國家和地區(qū),成為了繼電器行業(yè)的領(lǐng)軍企業(yè)。
為了推動公司的進(jìn)一步發(fā)展,宏發(fā)公司于2008年進(jìn)行了股份制改造,并成立了“廈門宏發(fā)電聲股份有限公司”。2012年,公司成功上市,通過資本市場獲得了更多的資金支持和發(fā)展動力。上市后,宏發(fā)繼續(xù)加大在技術(shù)研發(fā)、市場拓展和產(chǎn)能提升等方面的投入,不斷鞏固和擴(kuò)大其在繼電器行業(yè)的領(lǐng)先地位。同時(shí),公司還積極履行社會責(zé)任,為行業(yè)發(fā)展和地方經(jīng)濟(jì)做出了積極貢獻(xiàn)。
Gems Sensors & Controls公司始終致力于技術(shù)創(chuàng)新和產(chǎn)品研發(fā)。數(shù)十年來,公司不斷推出新型號的液位、流量和壓力傳感器、微型電磁閥及預(yù)裝射流系統(tǒng)等產(chǎn)品,以滿足客戶日益多樣化的需求。這些產(chǎn)品憑借其卓越的性能和穩(wěn)定的質(zhì)量,在行業(yè)內(nèi)贏得了廣泛的贊譽(yù)和認(rèn)可,也推動了整個(gè)傳感器行業(yè)的進(jìn)步和發(fā)展。
隨著產(chǎn)品質(zhì)量的不斷提升和市場需求的擴(kuò)大,AFOP開始積極拓展國內(nèi)外市場。公司通過與各大電信運(yùn)營商、設(shè)備制造商等建立合作關(guān)系,將產(chǎn)品應(yīng)用于長途通信、大都會網(wǎng)絡(luò)以及最后一里接入等領(lǐng)域。同時(shí),AFOP還積極參與國際光纖通信展覽會等活動,加強(qiáng)與國際同行的交流與合作,提升了公司在國際市場的知名度。
這個(gè)十分的精典.... 里面詳細(xì)介紹了元件模型的建立...以及各電源模型的超詳細(xì)介紹...最基礎(chǔ)的東西... 是國內(nèi)的ORCAD書中沒有介紹的....… 查看全部問答∨ |
|
博客大賽要開始啦!希望大家多多支持我!為大賽準(zhǔn)備,耶! 大家好!我是jxb01033016,我的博客開通啦!希望大家多給我踩踩!!為eeworld博客加油,喝彩!耶! 下面都是我的個(gè)人作品哦,希望大家喜歡! 將找工作堅(jiān)持到底!!!(原創(chuàng))http://home.eeworld.com.cn/?uid-445-action-viewspace-itemid-9022 ...… 查看全部問答∨ |
|
LED驅(qū)動隔離式低成本延長LED壽命方案-省電解電容 隔離式LED驅(qū)動低成本方案正在研究中,預(yù)計(jì)今年6月出爐,屆時(shí)將有省卻電解電容方案;并可延長LED電源壽命 此帖光注于此方案的時(shí)刻進(jìn)展中。。。 有知道此消息的回復(fù)一下;… 查看全部問答∨ |
中穎單片機(jī)在PROTUES中仿真時(shí),找不到相應(yīng)的 元件,怎么辦,會不會像protel中可自創(chuàng)元件庫呢? 如何在PROTUES中建自己的元件庫?請大蝦們指點(diǎn)!!!!… 查看全部問答∨ |
J-Link LoadImage是老是提示 Write Memory error @ address 0x600CAB88 Write Memory error @ address 0x600CAB88, word access: Memory access timeout. 大家?guī)兔ο掳。伎毂贿@個(gè)搞死人了,調(diào)試不了。… 查看全部問答∨ |
int width= dstRc.right-dstRc.left, heigth = dstRc.top-dstRc.bottom; ...… 查看全部問答∨ |
平臺:WinCE>NET4.2 開發(fā)平臺EVC4.2 目的: 運(yùn)行 wceload.exe打開SD卡里面的Main.CAB自動安裝文件,而且是在后臺安裝,就是不是顯示有關(guān)安裝信息. &n ...… 查看全部問答∨ |
最近在搞山東省電子設(shè)計(jì)大賽,遇到需要使用紅外的題目,但是自己不懂,沒用過。。。 所以向大家求助: 求助51單片機(jī)紅外發(fā)射和接收的電路圖! … 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 基于GPS自動授時(shí)的無線智能控制器的設(shè)計(jì)
- 基于PTR2000的無線氣象信息采集系統(tǒng)設(shè)計(jì)
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無人飛行器機(jī)載穩(wěn)定云臺控制系統(tǒng)的設(shè)計(jì)
- 匠芯創(chuàng)推出面向具身智能高性能實(shí)時(shí)處理器M7000
- 基于HW2181B的航模無線遙控通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 應(yīng)對機(jī)器人“四高”,極海推出全球首款雙核Cortex-M52 MCU G32R501
- 非道路移動機(jī)械透射式煙度計(jì)研究與實(shí)現(xiàn)
- 基于STM32F103的角磨機(jī)開關(guān)磁阻電機(jī)控制器的設(shè)計(jì)
- 英特爾發(fā)布全新GPU,AI和工作站迎來新選擇
- 重新思考數(shù)據(jù)中心架構(gòu),推進(jìn)AI的規(guī)模化落地
- Samtec科普 | 一文入門射頻連接器
- 垂直農(nóng)業(yè)的挑戰(zhàn) | Samtec新型農(nóng)業(yè)漫談系列一
- 比克電池亮相CIBF 2025,全品類布局構(gòu)建發(fā)展“芯”引擎
- 欣旺達(dá)閃耀CIBF 2025:以閃充/固態(tài)電池/逸風(fēng)電池等五大技術(shù)矩陣,領(lǐng)航全球能源革命
- 全新智己L6要做「下一代產(chǎn)品」
- 2025《國產(chǎn)車規(guī)芯片可靠性分級目錄》全新發(fā)布,電子版對整車和零部件企業(yè)免費(fèi)開放
- 寧德時(shí)代推重卡換電標(biāo)準(zhǔn),計(jì)劃三年內(nèi)電動化滲透率達(dá)50%
- 特斯拉FSD系統(tǒng)全球測試成功,無人駕駛技術(shù)再突破
- HMD本月底還有新機(jī)發(fā)布 諾基亞X7或?qū)⒌菆?/a>
- 三星Galaxy S輕奢版即將發(fā)布:搭載驍龍660
- 傳vivo Xplay7下周公布產(chǎn)品信息 或?yàn)榍鎰⒑F猎O(shè)計(jì)
- OPPO新旗艦部分規(guī)格曝光 結(jié)構(gòu)光人臉識別+5x潛望式鏡頭
- 5月22日美圖將發(fā)布T9 延續(xù)家族基因搭載AI瘦身功能
- 中國機(jī)器人的市場發(fā)展空間依舊巨大
- 5G和AI將是機(jī)器人產(chǎn)業(yè)發(fā)展的關(guān)鍵
- 在未來哪些崗位更容易被機(jī)器人替代
- 一款可以精準(zhǔn)模仿鳥類的機(jī)器人
- 哈佛研發(fā)出可用于捕獲水母的超軟機(jī)器人抓手