在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32F1的ADC2如何使用DMA功能 USART過載錯誤Overrun error

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-14 14:42 ? 次閱讀

ADC2如何使用DMA功能

上一篇文章說了關于ADC使用DMA的功能,單ADC(只使用ADC1,或者只使用ADC2)采集多條通道,可以使用規則多利用DMA功能實現。

但是,只有ADC1和ADC3擁有DMA功能,而ADC2沒有DMA功能,如何實現使用DMA功能采集數據呢?

這個問題大家不必擔心,ST這么大的公司,這種基本的功能,肯定是有辦法解決的。

其實這問題在參考手冊中都能找到答案。答案簡單概括就是:使用雙ADC模式,由ADC2轉化的數據可以通過雙ADC模式,利用ADC1的DMA功能傳輸。

在有2個或以上ADC模塊的產品中,可以使用雙ADC模式。在雙ADC模式里,根據ADC1_CR1寄存器中UALMOD[2:0]位所選的模式,轉換的啟動可以是ADC1主和ADC2從的交替觸發或同步觸發。

STM21F1的ADC2轉換的結果也是保存在ADC_DR寄存器中,這種是在雙模式下(像F4還有三重模式)。

假如上一篇文章的采集通道換成如下順序:ADC2的通道3、ADC1的通道8、ADC2的通道2,則需要軟件配置:

ADC_RegularChannelConfig(ADC2,ADC_Channel_3, 1, ADC_SampleTime_55Cycles5);

ADC_RegularChannelConfig(ADC1,ADC_Channel_8, 2, ADC_SampleTime_55Cycles5);

ADC_RegularChannelConfig(ADC2,ADC_Channel_2, 3, ADC_SampleTime_55Cycles5);

說到這里,相信都應該明白了吧。

USART過載錯誤Overrun error

這一節內容,也有點算是網友問的問題,只是問的方式不同,也算是一個問題點吧。

這個問題的來源就是:頻繁的接收UART數據,沒有及時的讀取USART_DR中的數據,使其會發生過載錯誤。

這種情況一般是發生在我們不使用中斷接收UART數據,在某些RTOS中,我們使用getchar來讀取數據,但由于有更高優先級任務打斷了接收的任務,而這個時候UART又有許多數據發過來,這時,過載錯誤就會發生了。

而過載錯誤就會導致接收的數據異常,這個時候,解決的辦法很簡單:通過讀取USART_SR,再讀取USART_DR即可清除。

這個時候也可以使用過載錯誤中斷,但是,配置的時候需要注意軟件的配置:USART_ITConfig(USART1,USART_IT_ERR, ENABLE);而有的人配置成:USART_IT_ORE.

USART_IT_ORE這個確實存在,但不能使用在這里,USART_ITConfig這個函數明確要求了配置的參數。這個用于處理中斷判斷標志:if(USART_GetITStatus(USART1,USART_IT_ORE) != RESET)

好了,今天就講述上面兩點,希望對你們有所幫助。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dma
    dma
    +關注

    關注

    3

    文章

    569

    瀏覽量

    102113
  • USART
    +關注

    關注

    1

    文章

    198

    瀏覽量

    31541
  • STM32F10
    +關注

    關注

    0

    文章

    46

    瀏覽量

    15787
  • ADC2
    +關注

    關注

    0

    文章

    2

    瀏覽量

    1536
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

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

    :Channel_2、Channel_8、Channel_9。 ADC1通過TIM2_CC2事件觸發單次采樣,用DMA搬運完成后在完成中斷里處理數據,
    發表于 03-07 16:29

    使用STM32F1輸入捕獲功能時,TIM6和TIM7無法實現輸入捕獲是哪里的問題?

    使用STM32F1輸入捕獲功能時,TIM6和TIM7無法實現輸入捕獲,是芯片問題嗎?在配置STM32F1的TIM6和TIM7定時器時,發現無法進行輸入捕獲,是否因為芯片功能受限?
    發表于 09-27 09:11

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

    使用的產品型號的不同,有一個或兩個DMA模塊。 STM32F0XX DMA控制器總共有5個通道用于DMA1,每個通道都專門管理來自一個或多個外設的存儲器訪問請求。它具有一個仲裁器,用于
    發表于 09-04 14:08

    STM32CUBEMX(2)--USART通過DMA方式接收不定長數據

    的不同,有一個或兩個DMA模塊。 STM32F0XX DMA控制器總共有5個通道用于DMA1,每個通道都專門管理來自一個或多個外設的存儲器訪問請求。它具有一個仲裁器,用于處理不同的
    發表于 09-04 11:48

    自制一款兼容STM32F1/F4芯片的飛控板

    自己制作的一款兼容STM32F1/F4芯片的飛控板。
    發表于 07-04 14:07 ?0次下載

    adc2和藍牙一起使用會異常的原因?

    ESP32的ADC2的通道0(gpio4)與藍牙一起使用時采集的ad值異常,而未開啟藍牙時ad值正常,請問adc2的通道0有使用限制還是怎么樣? 藍牙啟動以后ad采集值直接滿量程,而實際電壓還是剛上電時采集的電壓 藍牙未啟動時ad采集
    發表于 06-21 07:16

    esp32s2使用WIFI功能ADC2模塊功能會有沖突,為什么?

    is successful. 如果是我使用WIFI功能ADC2 模塊功能會有沖突 ,還是ADC2相關引腳也不能做普通IO口用,或者 DAC 模塊也不能用?
    發表于 06-18 06:23

    【GD32F303紅楓派開發板使用手冊】第十六講 USART-DMA串口收發實驗

    在前面ADC章節中,我們介紹了DMA的工作原理,這里就不多做介紹。從GD32F303用戶手冊中可以查到,各串口的TX和RX分別對應DMA的不同通道,比如
    的頭像 發表于 06-15 09:54 ?1621次閱讀
    【GD32<b class='flag-5'>F</b>303紅楓派開發板使用手冊】第十六講 <b class='flag-5'>USART-DMA</b>串口收發實驗

    STM32F4雙ADC同步采樣的DMA數據處理,數組的大小對采樣有什么影響嗎?

    個就會產生DMA中斷,當數組滿了的時候就會從頭開始覆蓋數組?我想要同步采集ADC1ADC2的兩個數據并立刻對它們進行處理有什么方法呢?
    發表于 05-23 06:11

    如何在STM32F439 DMA流中斷中區分是哪個通道產生的中斷?

    STM32F439有兩個DMA控制器DMA1DMA2,每個控制器有8個流,每個流有8個通道,我做的是采用串口1DMA中斷接收數據,
    發表于 05-17 08:20

    STM32F334 ADC1ADC2同步采樣,有時會出現采ADC1ADC2所有的通道采集數據都一樣的情況為什么?

    STM32F334 ADC1ADC2同步采樣,有時會出現采ADC1ADC2所有的通道采集數據都一樣,給人直觀的感覺像是
    發表于 05-15 08:15

    stm32f302和stm32f103的ADC區別是什么?

    請問stm32f302和stm32f103的ADC除了stm32f103有2ADC
    發表于 05-15 08:03

    STM32F103的DMA無法實現共存怎么解決?

    有幸在工程中用到STM32F103的DMA功能,而且是兩個串口(USART2USART3)都需要用到D
    發表于 05-11 07:14

    為什么STM32F103VET6 ADC采樣時間與理論相差太大?

    STM32F103VET6 為什么采樣要花很長時間,跟理論完全不符合,求助。。。 我是用TIM2的T2_CC2輸出PWM作為ADC采樣的時鐘,并且D
    發表于 05-10 07:16
    主站蜘蛛池模板: 天天干天天操天天爱 | video欧美性精品 | 天堂资源在线最新版 | 狠狠干.com | 国产三级自拍视频 | 91天天干| 色欧美在线 | 超碰v| 日韩一级高清 | 国产午夜精品理论片 | 日韩一级在线视频 | 成年美女黄网站色大免费视频 | 欧美成人激情在线 | 亚洲国产tv | 久久天天躁狠狠躁夜夜爽蜜月 | 色播影院性播影院私人影院 | 男人的天堂222eee | 视频一区二区在线 | 国产成人影视 | 天天天天天天干 | 最新天堂| 国产成人精品男人的天堂538 | 亚洲国产高清精品线久久 | 天天干夜夜笙歌 | 日本a级三级三级三级久久 日本a级影院 | 特级毛片永久久免费观看 | 天堂最新版在线www在线 | 国产亚洲精品久久久久久午夜 | 亚洲一区二区三区麻豆 | 日本大片免a费观看在线 | 色天使色婷婷丁香久久综合 | 日本美女黄视频 | 二区三区 | 简单视频在线播放jdav | 免费黄视频在线观看 | 国产一级特黄的片子 | 亚洲资源最新版在线观看 | 稀缺资源呦视频在线网站 | 2021国产成人午夜精品 | 色多多高清在线观看视频www | 国产一卡2卡3卡四卡精品网站 |