新聞中心

        STM32筆記 ADC篇

        作者: 時間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
        一、總轉(zhuǎn)換時間的問題:
        總轉(zhuǎn)換時間TCONV = 采樣時間+ 轉(zhuǎn)換時間(轉(zhuǎn)換時間=12.5個周期)

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

        本文引用地址:http://www.104case.com/article/201612/324326.htm

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

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

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

        三、ADC開始轉(zhuǎn)換的問題

        芯片資料有以下兩段話:

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

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

        此處的關(guān)鍵點是:單次模式下,注入通道只能用軟件啟動,不能用ADON啟動。但連續(xù)模式則可以用這兩個方式啟動。

        四、中斷的問題

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

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

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

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

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



        關(guān)鍵詞: STM32AD

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 舞阳县| 白朗县| 海盐县| 金阳县| 肇庆市| 福泉市| 城口县| 赤峰市| 民勤县| 分宜县| 宣汉县| 洛川县| 顺义区| 西盟| 介休市| 曲沃县| 伊金霍洛旗| 牙克石市| 喜德县| 名山县| 当阳市| 涟水县| 神农架林区| 新龙县| 安化县| 灵石县| 元阳县| 当涂县| 积石山| 仙桃市| 天镇县| 长沙县| 准格尔旗| 藁城市| 荣成市| 石阡县| 黄大仙区| 新巴尔虎右旗| 达孜县| 龙里县| 扎囊县|