專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

STM32筆記 ADC篇

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年01月23日   【字體:

一、總轉(zhuǎn)換時(shí)間的問(wèn)題:

 

        總轉(zhuǎn)換時(shí)間TCONV = 采樣時(shí)間+ 轉(zhuǎn)換時(shí)間(轉(zhuǎn)換時(shí)間=12.5個(gè)周期)

    其中,采樣時(shí)間是指完成一次轉(zhuǎn)換到開(kāi)始下一次轉(zhuǎn)換的時(shí)間間隔,不包括轉(zhuǎn)換時(shí)間;轉(zhuǎn)換時(shí)間是固定的12.5個(gè)周期。采樣時(shí)間有幾個(gè)固定值可以選擇設(shè)定。


二、 ADON:開(kāi)/關(guān)A/D轉(zhuǎn)換器

    該位由軟件設(shè)置和清除。當(dāng)該位為0時(shí),寫(xiě)入1將把ADC從斷電模式下喚醒。當(dāng)該位為1時(shí),寫(xiě)入1將啟動(dòng)轉(zhuǎn)換。在轉(zhuǎn)換器上電至轉(zhuǎn)換開(kāi)始有一個(gè)延遲時(shí)間tSTAB。

    函數(shù)void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState);雖然描述說(shuō)是使能失能ADC,其實(shí)就是對(duì)ADON的操作,也就是說(shuō),當(dāng)ADON為0時(shí),該函數(shù)為喚醒ADC,當(dāng)ADON為1時(shí),為啟動(dòng)轉(zhuǎn)換。


三、ADC開(kāi)始轉(zhuǎn)換的問(wèn)題

    芯片資料有以下兩段話:

    “單次轉(zhuǎn)換模式下,ADC只執(zhí)行一次轉(zhuǎn)換。該模式既可通過(guò)設(shè)置ADC_CR2寄存器的ADON位(只適用于規(guī)則通道)啟動(dòng),也可通過(guò)外部觸發(fā)啟動(dòng)(適用于規(guī)則通道或注入通道),這時(shí)CONT位為0。

    “在連續(xù)轉(zhuǎn)換模式中,當(dāng)前面ADC轉(zhuǎn)換一結(jié)束馬上就啟動(dòng)另一次轉(zhuǎn)換。此模式可通過(guò)外部觸發(fā)啟動(dòng)或通過(guò)設(shè)置ADC_CR2寄存器上的ADON位啟動(dòng),此時(shí)CONT位是1。”

    此處的關(guān)鍵點(diǎn)是:?jiǎn)未文J较,注入通道只能用軟件啟?dòng),不能用ADON啟動(dòng)。但連續(xù)模式則可以用這兩個(gè)方式啟動(dòng)。


四、中斷的問(wèn)題

    JEOC:該位由硬件在所有注入通道組轉(zhuǎn)換結(jié)束時(shí)設(shè)置,由軟件清除

    EOC:該位由硬件在(規(guī)則或注入)通道組轉(zhuǎn)換結(jié)束時(shí)設(shè)置,由軟件清除或由讀取ADC_DR時(shí)清除

    注意點(diǎn):a、規(guī)則和注入都可以產(chǎn)生EOC標(biāo)志,而JEOC標(biāo)志只有注入組產(chǎn)生。

                b、規(guī)則和注入都可以產(chǎn)生EOC中斷,而JEOC中斷只能由注入組產(chǎn)生。

                c、JEOC只能軟件清除,硬件不會(huì)自動(dòng)清除,但是EOC在讀取ADC_DR規(guī)則數(shù)據(jù)寄存器時(shí),硬件會(huì)自動(dòng)清除。(這條一定要注意,浪費(fèi)我半天的時(shí)間才找到原因。)

關(guān)閉窗口

相關(guān)文章