日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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)換器。它有多達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)注

    2313

    文章

    11196

    瀏覽量

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

    關(guān)注

    3

    文章

    583

    瀏覽量

    106309
  • ADC1
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    8562
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    是否有使用 RTD4.0.0 MCAL 用于 S32DS3.5 的多通道 ADC MCL DMA不使用 BCTU)的演示?

    是否有使用 RTD4.0.0 MCAL 用于 S32DS3.5 的多通道 ADC MCL DMA不使用 BCTU)的演示?
    發(fā)表于 04-01 07:08

    ADC轉(zhuǎn)換-DMA傳輸

    #define DMA_CYCLE_EN1 uint32_t ADC_Result_Array[16] = {0
    發(fā)表于 01-27 07:27

    自己DIY的STM32F103C8T6最小系統(tǒng)板+ADC使用的是F103的ADC1

    參數(shù)具體配置:設(shè)為獨立模式,單通道采集無需掃描,啟動連續(xù)轉(zhuǎn)換,采用內(nèi)部軟件觸發(fā),數(shù)據(jù)右對齊,轉(zhuǎn)換通道1,調(diào)用 ADC_Init 函數(shù)完成
    發(fā)表于 12-06 13:14

    CW32的ADC視線,DMA擴展采樣思路

    如果需要對超過 4 路的模擬量進行采樣,則需要結(jié)合 DMA功能,以實現(xiàn)較少的 CPU 參與。其思路如下: 1.ADC 配置為單通道單次轉(zhuǎn)換,完成轉(zhuǎn)換后硬件觸發(fā)
    發(fā)表于 11-13 08:09

    STM32G030K6Tx使用ADC+DMA進行6通道ADC采集DMA傳輸錯位怎么解決?

    ;GPIO_InitStruct); /[i] ADC1 DMA Init //[i] USER CODE BEGIN ADC1_DMA_Init 1
    發(fā)表于 09-09 06:30

    【RA4M2-SENSOR】ADC通道采集 DMAC轉(zhuǎn)運

    ADC兩個通道采集電壓,一路AIN0采集外部電位器,一路采集內(nèi)部溫度,并使用DMAC轉(zhuǎn)運 添加 stack
    發(fā)表于 09-03 09:04

    STM32F405RGT6 ADC2+TIM4觸發(fā)+DMA(DMA2_Stream2_CH1)+DMA中斷會死機,怎么解決?

    ADC1+TIM4觸發(fā)+DMA(DMA2_Stream0_CH0)+DMA中斷完全正常更改為ADC2+TIM4觸發(fā)+
    發(fā)表于 08-04 07:16

    無法配置 ADC1 來觸發(fā) DMA 傳輸,怎么解決?

    啟動。 您能幫我設(shè)置 DMA 通道的觸發(fā)源嗎? 此外,我在 ADC1 章節(jié)中讀到以下聲明: [i]比較通道有 8 個事件(CMPUPx 和 CMPLOx),
    發(fā)表于 07-21 06:57

    【微五科技CF5010RBT60開發(fā)板試用體驗】+A/D數(shù)據(jù)采集

    從資料可以看出,CF5010RBT60能通過10個A/D檢測通道,見圖1所示。 圖1 檢測通道與引腳關(guān)系 要實現(xiàn)多
    發(fā)表于 07-19 12:48

    基于APM32F411 DMA_ADC Handler模式分析及解決

    最近在編寫DMA_ADC例程的過程中出現(xiàn)了一個中斷配置的問題,在ADC采集過程中,結(jié)合手冊進行ADC連續(xù)轉(zhuǎn)換模式配置采集,手冊上給出需要進行
    的頭像 發(fā)表于 06-24 14:30 ?1236次閱讀
    基于APM32F411 <b class='flag-5'>DMA_ADC</b> Handler模式分析及解決

    STM32通道FFT運算異常的原因?怎么解決?

    使用) 一、問題描述 當(dāng)前項目中,ADC采樣率為 960kHz,共 16個通道。采樣數(shù)據(jù)通過DMA搬運至內(nèi)存,隨后對每個通道數(shù)據(jù)進行FFT頻譜分析。 實際測試中,只處理
    發(fā)表于 06-19 06:27

    STM32F407 ADC Dual regular simultaneous only 模式下最高采樣率僅 96?kHz,960?kHz無法工作怎么解決?

    一、平臺及配置 MCU 型號 :STM32F407VG (Cortex?M4) ADCADC1 + ADC2,Dual regular simultaneous only 模式
    發(fā)表于 06-16 07:09

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

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

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

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

    請問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
    平阴县| 政和县| 滦南县| 蒲城县| 茂名市| 云浮市| 措勤县| 民权县| 芜湖县| 仁布县| 海城市| 宝兴县| 镇巴县| 高陵县| 齐河县| 奉新县| 文昌市| 望江县| 平原县| 南开区| 察哈| 连州市| 道真| 洮南市| 镇坪县| 盘山县| 陈巴尔虎旗| 吉安县| 陆川县| 台中市| 新宁县| 三江| 太康县| 塘沽区| 瑞安市| 阿坝县| 军事| 合肥市| 麻阳| 彰化县| 满洲里市|