女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32的ADC1采集多條通道 可以不使用DMA功能嗎?

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-14 14:46 ? 次閱讀

類似的問題

為什么我采集5條通道的電壓,而采集到的值卻都是第一條的呢?

我什么時候需要使用DMA功能?

關(guān)于ADC的一些知識

STM32ADC是一種12位逐次逼近型的模擬數(shù)字轉(zhuǎn)換器。它有多達(dá)18條通道,可測量16個外部和2個內(nèi)部信號源。

各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。 ADC的結(jié)果可以左對齊或右對齊方式存儲在16位數(shù)據(jù)寄存器ADC_DR中。

其實就是說,一個ADC,可檢測18條通道,我們外接的只有16條。而結(jié)果只保存在一個寄存器ADC_DR中。

要使用ADC1采集多條通道,那么就需要對采集的通道進行分組排序。STM32的ADC可以把轉(zhuǎn)換組織成兩組:規(guī)則組和注入組。

假如我們采集的通道按照如下順序完成轉(zhuǎn)換:通道3、通道8、通道2,則需要軟件對其配置:

ADC_RegularChannelConfig(ADC1,ADC_Channel_3,1, ADC_SampleTime_55Cycles5);

ADC_RegularChannelConfig(ADC1,ADC_Channel_8,2, ADC_SampleTime_55Cycles5);

ADC_RegularChannelConfig(ADC1,ADC_Channel_2,3, ADC_SampleTime_55Cycles5);

使用DMA方式

從上面的描述中知道,ADC轉(zhuǎn)換的結(jié)果只能保存在ADC_DR中。因為規(guī)則通道轉(zhuǎn)換的值儲存在一個僅有的數(shù)據(jù)寄存器中,所以當(dāng)轉(zhuǎn)換多個規(guī)則通道時需要使用DMA,這可以避免丟失已經(jīng)存儲在ADC_DR寄存器中的數(shù)據(jù)。

只有在規(guī)則通道的轉(zhuǎn)換結(jié)束時才產(chǎn)生DMA請求,并將轉(zhuǎn)換的數(shù)據(jù)從ADC_DR寄存器傳輸?shù)接脩糁付ǖ哪康牡刂贰?/p>

也就是說,如不使用DMA,我們采用規(guī)則轉(zhuǎn)換,中間有些存儲在ADC_DR寄存器中的數(shù)據(jù)可能被(下一條通道采集的數(shù)據(jù))覆蓋掉。這就是有人說的“采集到的數(shù)據(jù)不對應(yīng)其通道的值”的原因。

同理,需要這種規(guī)則轉(zhuǎn)換多條通道,就需要使用DMA功能才能完成。

不使用DMA方式

看了上面使用DMA的情況,相信都應(yīng)該明白:如果使用規(guī)則轉(zhuǎn)換,就最好使用DMA功能。

不使用DMA方式,就需要使用非常奇葩的處理方式:單通道單次轉(zhuǎn)換方式,需要切換通道,不然就會像上面說的,采集不到對應(yīng)通道的數(shù)據(jù)。

STM32的ADC功能非常強大,感興趣的朋友可深入理解一下。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2289

    文章

    11011

    瀏覽量

    362361
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    572

    瀏覽量

    102312
  • ADC1
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    8428
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    請問STM32G431內(nèi)部運放1和2輸出連接的ADC為什么不是OPAMP?

    請問下大家,STM32G431 芯片UVW三相的電流檢測,配置使用內(nèi)部運放PGA,看到G431-ESCdemo板對應(yīng)motor workbench配置,為什么UV相的運放輸出分別是ADC1 3通道
    發(fā)表于 05-14 08:12

    請問STM32G431內(nèi)部運放1和2輸出連接的ADC為什么不是OPAMP?

    請問下大家,STM32G431 芯片UVW三相的電流檢測,配置使用內(nèi)部運放PGA,看到G431-ESCdemo板對應(yīng)motor workbench配置,為什么UV相的運放輸出分別是ADC1 3通道
    發(fā)表于 04-27 07:08

    為什么在“PWM Adc Dma 344 S32CT”示例中使用ISR塊來讀取dma adc通道

    DMA 模式的 ADC1組的數(shù)據(jù),它使用硬件中斷塊作為墻,就像在中斷模式下配置的 ADC2組一樣。 我的問題是為什么使用這個塊,以及是否有必要讀取 ADC1組的值。盡管在
    發(fā)表于 04-08 06:39

    ADC怎么樣才能區(qū)分出來是那個通道想要將采集的數(shù)傳出去?

    DMA方式傳輸,不以串口傳輸 HAL_Delay(1); } /* USER CODE END 3 */ } ` 按照上述代碼,ADC1通道1
    發(fā)表于 03-13 08:07

    STM32G030F6 ADC+DMA通道非連續(xù)采樣無法正常工作怎么解決?

    配置:使用STM32G030F6 ADC外設(shè)時,ADC使用兩個通道DMA配置為循環(huán)模式,ADC
    發(fā)表于 03-12 07:10

    stm32f103c8t6 ADC channel 5采樣被干擾導(dǎo)致程序卡死重啟怎么解決?

    程序里配置了兩個ADC進行采樣,ADC1采集輸出電流、輸出電壓的值;ADC2:采集NTC電壓、設(shè)置旋鈕等電壓。一共5個采樣
    發(fā)表于 03-07 16:29

    STM32采集ADC128S022選擇4路通道電壓值就不對了,采集一路0通道是對的,精度0.0幾個毫伏,為什么?

    STM32采集ADC128S022我選擇4路通道電壓值就不對了,采集一路0通道是對的,精度0.
    發(fā)表于 01-13 08:41

    STM32H743的高精度定時器觸發(fā)ADC采樣

    STM32Cubemx配置如下: Master Timer配置 Timer A配置 Timer B配置 Trigger 配置 ADC1配置 ADC2配置 啟動的代碼
    發(fā)表于 01-09 15:49

    STM32CUBEMX(3)--ADC通過DMA方式采樣,USART打印

    使用的產(chǎn)品型號的不同,有一個或兩個DMA模塊。 STM32F0XX DMA控制器總共有5個通道用于DMA1,每個
    發(fā)表于 09-04 14:08

    第12章-ADC采集電壓和顯示 基于STM32ADC—電壓采集(詳細(xì)講解+HAL庫)

    第12章-ADC采集電壓和顯示 基于STM32ADC—電壓采集(詳細(xì)講解+HAL庫)
    的頭像 發(fā)表于 08-21 16:31 ?4943次閱讀
    第12章-<b class='flag-5'>ADC</b><b class='flag-5'>采集</b>電壓和顯示 基于<b class='flag-5'>STM32</b>的<b class='flag-5'>ADC</b>—電壓<b class='flag-5'>采集</b>(詳細(xì)講解+HAL庫)

    STM32F407三重ADC采樣設(shè)置死機怎么解決?

    使用STM32F407三重ADCADC1ADC2 ADC3分別分配8個通道ADC1 把芯片測
    發(fā)表于 07-26 06:43

    使用rt-thread的ADC框架,增加了DMA采集部分,采集到的兩通道數(shù)據(jù)中,有一個通道數(shù)據(jù)異常,為什么?

    裸機程序通過ADC+DMA采集通道模擬量數(shù)據(jù),可以正常采集到數(shù)據(jù),使用rt-thread的ADC
    發(fā)表于 07-12 08:07

    STM32F103 ADC利用DMA進行采樣遇到的幾個疑問求解

    STM32F103配置了ADC1 的4個通道,利用定時器的事件觸發(fā)進行10Hz 的數(shù)據(jù)采樣,數(shù)據(jù)通過DMA傳輸。然后希望每次采樣4*50個數(shù)據(jù)后觸發(fā)
    發(fā)表于 07-02 07:04

    CKS32F107xx系列ADC采樣DMA的原理和配置方法

    通道轉(zhuǎn)換完成后就應(yīng)該把數(shù)據(jù)取走,或者開啟DMA模式,把數(shù)據(jù)傳輸?shù)絻?nèi)存里面,不然就會造成數(shù)據(jù)的覆蓋。多通道ADC采集一般使用
    的頭像 發(fā)表于 06-29 10:37 ?920次閱讀

    ESP32是否支持雙通道ADC_DMA

    在IDF里看到ESP32支持ADC_DMA了, 1,是否支持雙通道ADC_DMA, 2,以后能支持DAC_DMA
    發(fā)表于 06-19 08:11