娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月05日(星期六)

正在發(fā)生

2018年10月05日 | STM32關(guān)于使用定時(shí)器觸發(fā)ADC轉(zhuǎn)換的解決辦法和詳細(xì)說明

發(fā)布者:calmrs 來源: eefocus關(guān)鍵字:STM32  定時(shí)器觸發(fā)  ADC轉(zhuǎn)換 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

以STM32 ADC的常規(guī)通道為例(注入通道類似):

STM32關(guān)于使用定時(shí)器觸發(fā)ADC轉(zhuǎn)換的解決辦法和詳細(xì)說明

如上圖,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í)器一章)

STM32關(guān)于使用定時(shí)器觸發(fā)ADC轉(zhuǎn)換的解決辦法和詳細(xì)說明

上圖中紅藍(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)。


關(guān)鍵字:STM32  定時(shí)器觸發(fā)  ADC轉(zhuǎn)換 引用地址:STM32關(guān)于使用定時(shí)器觸發(fā)ADC轉(zhuǎn)換的解決辦法和詳細(xì)說明

上一篇:ARM單片機(jī)匯編指令使用二
下一篇:單片機(jī)AD轉(zhuǎn)換匯總

推薦閱讀

上個(gè)月,在美國加州霍桑的SpaceX總部舉行的一場活動上,埃隆·馬斯克(Elon Musk)發(fā)表了講話。?Facebook首席人工智能科學(xué)家楊樂昆(Yann LeCun)表示,在這個(gè)相對較早的發(fā)展階段,馬斯克太“瘋狂”,并呼吁對人工智能進(jìn)行監(jiān)管。?Yann LeCun說,雖然在過去的幾年里人工智能在很多重要的領(lǐng)域取得突破,但人工智能仍處于初期階段。試著和Siri進(jìn)行深入的...
中國儲能網(wǎng)訊:近日,國網(wǎng)招標(biāo)平臺發(fā)布了《國家電網(wǎng)有限公司2019年(新增)信息化設(shè)備招標(biāo)采購》公告,本次招標(biāo)共包含85個(gè)包,19219件產(chǎn)品,579個(gè)項(xiàng)目。本次招標(biāo)屬于新增批次,屬于計(jì)劃外的追加,本身就超市場預(yù)期,且數(shù)量上呈現(xiàn)井噴狀態(tài),更重要的是大多數(shù)項(xiàng)目與2019年泛在電力物聯(lián)網(wǎng)建設(shè)方案相吻合,標(biāo)志著泛在電力物聯(lián)網(wǎng)正式落地啟動。 業(yè)內(nèi)人士表示,...
談到醫(yī)療機(jī)器人,許多人都會起到美國Intuitive surgical公司研發(fā)的達(dá)芬奇機(jī)器人,它是世界第一款手術(shù)機(jī)器人,代表著機(jī)器人在醫(yī)療行業(yè)應(yīng)用的重要里程碑。不過,達(dá)芬奇仍然是由人類控制的機(jī)器系統(tǒng)。隨著人工智能技術(shù)的進(jìn)步發(fā)展,醫(yī)療行業(yè)又發(fā)生了巨大的變化。利用機(jī)器學(xué)習(xí)的方法,可以對不同病例進(jìn)行學(xué)習(xí),再結(jié)合所有醫(yī)學(xué)知識庫的知識,能夠快速診斷出病情...

史海拾趣

問答坊 | AI 解惑

PSPICE電子線路仿真詳細(xì)資料!!!

這個(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中仿真

    中穎單片機(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)試不了。…

查看全部問答∨

PNG雙緩沖問題,為什么我的圖片不能顯示呢??

int width= dstRc.right-dstRc.left,                                         heigth = dstRc.top-dstRc.bottom;       ...…

查看全部問答∨

wceload.exe 后臺安裝 CAB 文件

        平臺:WinCE>NET4.2 開發(fā)平臺EVC4.2         目的: 運(yùn)行 wceload.exe打開SD卡里面的Main.CAB自動安裝文件,而且是在后臺安裝,就是不是顯示有關(guān)安裝信息.    &n ...…

查看全部問答∨

關(guān)于單片機(jī)紅外傳輸

最近在搞山東省電子設(shè)計(jì)大賽,遇到需要使用紅外的題目,但是自己不懂,沒用過。。。 所以向大家求助: 求助51單片機(jī)紅外發(fā)射和接收的電路圖!  …

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 汉中市| 焦作市| 北海市| 鹿泉市| 子长县| 武鸣县| 泗阳县| 霍城县| 临安市| 肃宁县| 张家界市| 杭锦后旗| 九寨沟县| 绍兴市| 铁岭县| 桂阳县| 永登县| 山东| 贡觉县| 武乡县| 德昌县| 安义县| 扬中市| 雷州市| 肥东县| 甘南县| 石林| 开远市| 泸溪县| 贡山| 潮安县| 商丘市| 商城县| 盖州市| 东平县| 同仁县| 龙井市| 石楼县| 武宁县| 旌德县| 彝良县|