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

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

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

3天內不再提示

STM32串口中斷 DMA接收的幾點注意地方

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-04 13:57 ? 次閱讀

今天寫點大家常問,也是常見的關于UART串口的內容。這幾點內容或許曾經也困惑了你很久。

1UART串口中斷接收

使能UART串口中斷之后,有接收到UART數據,進入中斷,此時要清除RXNE接收標志位:

1.通過軟件向該RXNE標志位寫入零來清零;

2.通過對 USART_DR 寄存器執行讀入操作將該位清零。

這里可以查看對應《參考手冊》,一般我們選擇第2種,通過讀取UART串口數據來清零。

1.中斷接收數據丟失

在UART串口中斷函數中,或者更高優先級中斷函數中長時間執行,導致接收丟失,所以,請勿在中斷函數中長時間執行。

特別有些人,還在中斷函數添加延時函數。實際應用中,只要不是特殊情況,比如測試某個功能可以添加延時函數,都不建議在中斷函數添加延時函數。

2.ORE上溢錯誤

ORE上溢錯誤是什么意思呢?可能很多人不了解,簡單說就是:UART接收到有數據,沒有去取,但又來了數據,此時就會產生ORE上溢錯誤。(請看“參考手冊”)

其實,上面這種長時間在占用中斷,就會導致UART接收數據上溢。

很多人沒有在意這個,如果是使能了中斷接收,標志位沒有清除,又有ORE上溢錯誤的話,程序就會不停地進入UART中斷。(大家不妨試一下,看一下是不是你代碼一直在UART中斷里面不停運行)。

3.使能接收中斷前,先清除接收標志位

有時候,在程序初始化的時候,就會接收到數據,這個時候建議大家先清除接收標志位再使能接收中斷。類似如下:

2

DMA接收串口數據

使用DMA接收串口數據,相信很多朋友都知道。這個可以理解為使用隊列,或者FIFO的形式,防止因高優先級中斷而打斷,導致接收數據丟失。

但很多人都遇到過,接收不到數據,或者數據異常的情況。所以,這里同樣有需要注意的地方。

1.使能UART之前,先使能DMA相關配置

這個和清除標志位一樣的道理,使能UART之前,先使能DMA相關配置,防止在配置過程中有接收數據。

2.ORE上溢錯誤導致不能使用DMA接收數據

導致不能DMA接收不到數據的根源,有一種可能就是有ORE上溢錯誤。

若在串口初始化并使能后到 DMA 使能之前有數據來,MCU是不能接收的。如果此時數據寄存器 USART_DR 存在一個數據,再來一個數據,就會導致ORE上溢錯誤。

一旦產生上溢錯誤后,就無法再觸發 DAM 請求,及時之后再啟動 DMA 也不行,無法觸發 DMA 請求就無法將數據寄存器內的數據及時轉移走,如此陷入死鎖。這就是串口無法正常接收的原因。

所以,最后提醒大家,配置時,請一定要注意這些細節。

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

    關注

    2282

    文章

    10984

    瀏覽量

    361043
  • uart
    +關注

    關注

    22

    文章

    1250

    瀏覽量

    102732
  • dma
    dma
    +關注

    關注

    3

    文章

    569

    瀏覽量

    101974
收藏 人收藏

    評論

    相關推薦

    STM32串口下載軟件(FLYMCU)

    STM32串口下載軟件(FLYMCU),經典版本,親試可用。
    發表于 04-09 15:59 ?0次下載

    使用串口dma環形接收+空閑中斷,觸發空閑中斷后進入任務中拷貝數據發現拷貝的數據全為0,怎么處理?

    求助,我使用串口dma環形接收+空閑中斷,默認應該開了緩存,在觸發空閑中斷后進入任務中拷貝數據發現拷貝的數據全為0,但是我掛上調試之后在拷貝
    發表于 03-27 06:17

    STM32F427串口接收和發送中斷同時使能,為什么會出現接收中斷丟數的情況?

    STM32F427芯片,針對UART7開啟串口接收緩存區非空中斷RXNE和串口傳輸完成中斷TC.
    發表于 03-11 07:05

    串口中斷是內部中斷還是外部中斷,串口中斷是怎么觸發的

    串口中斷通常被視為外部中斷。雖然串口控制器(如USART、UART等)可能集成在微控制器或處理器的內部,但從中斷的角度來看,串口中斷是由處理
    的頭像 發表于 01-29 15:03 ?1056次閱讀

    串口中斷需要清除標志位嗎,串口中斷標志位會自動清除嗎

    在電子通信領域,串口中斷作為一種重要的通信機制,廣泛應用于各種嵌入式系統和計算機設備中。串口中斷標志位的管理,尤其是是否需要手動清除以及是否會自動清除,是理解和實現串口通信的關鍵環節。
    的頭像 發表于 01-29 14:59 ?961次閱讀

    串口中斷有什么用,串口中斷的觸發條件是什么

    在現代電子通信系統中,串口中斷作為一種高效的數據處理機制,扮演著至關重要的角色。它允許處理器在數據到達或發送完成時立即響應,從而提高系統的響應速度和效率。
    的頭像 發表于 01-29 14:56 ?941次閱讀

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

    ,如下所示: 配置時鐘樹 STM32F0的最高主頻到48M,所以配置48即可: 串口配置 本次實驗使用的串口1進行串口通信,波特率配置為115200。 配置
    發表于 09-04 11:48

    STM32G030F6用串口中斷函數接收數據,發送數據就死機怎么解決?

    平臺介紹: 芯片是使用的STM32G030F6,系統是rt-thread nano-v3.1.5, 使用rtthread studio + cubemx生成工程項目 問題描述:想使用串口中斷方式去
    發表于 07-11 06:44

    使用stm32f205和esp32之間進行串口通訊時遇到的疑問求解

    時間,接收超時時間設置為50ms,測量最小50ms,最大到了96ms。 stm32f205串口: 使用dma進行收據收發,可以保證通訊速度,50ms收發一次,數據長度小于20字節,長
    發表于 06-19 07:53

    STM32G030不能再次進入串口中斷的原因?

    在使用串口時數據發送完畢 將串口設置為外部中斷,然后MCU進入停止模式。在觸發外部喚醒后,進入外部觸發中斷 ,再次初始化串口后,再
    發表于 05-17 10:38

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

    STM32F439有兩個DMA控制器DMA1和DMA2,每個控制器有8個流,每個流有8個通道,我做的是采用串口1
    發表于 05-17 08:20

    STM32CubeMX串口中斷自收自發怎么寫?

    字符 然而使用中斷方式接收字符不知道該怎么寫了,函數HAL_UART_RxCpltCallback不會用。。。 想做一個自收自發的功能,給單片機發送的字符,單片機再發送回來,不知道
    發表于 05-13 08:52

    stm32的modbus.c文件,如何觸發串口發送中斷?

    ModRcv(void);//modbus信息接收,放在串口接收中斷 3.void ModSend(void);//modbus信息接收
    發表于 05-10 06:50

    STM32串口DMA通訊接收不到數據的原因?

    //STM32串口DMA通訊接收不到數據 //請各位大神幫忙看看,下面的DMA配置問題出在哪里 //程序編寫思路是:用
    發表于 05-09 06:40

    請問hal庫的串口接收完成回調函數中如何區分是不是DMA接收完成?

    HAL_UART_RxCpltCallback 這個回調函數在串口中斷接收完成后會被調用,在DMA接收完成后也會被調用 那么能否在這個回調函數中直接以參數huart中的信息來區分上述
    發表于 05-07 07:39
    主站蜘蛛池模板: 亚洲综合在线一区 | se色成人亚洲综合 | 椎名空中文字幕一区二区 | 福利视频免费观看 | 2021国产精品午夜久久 | 无毒不卡 | h在线观看视频免费网站 | 亚洲综合久久综合激情久久 | 新版天堂资源在线官网8 | 免费一级毛片正在播放 | 中文字幕亚洲一区 | 色婷婷激婷婷深爱五月小说 | 三级毛片网站 | 国产精选经典三级小泽玛利亚 | 婷婷爱五月 | 亚洲一区二区影院 | 一区二区三区亚洲 | 中日韩精品视频在线观看 | 27pao强力打造高清免费高 | 男人的天堂免费视频 | 2019国产情侣 | 三级在线播放 | 一区卡二区卡三区卡视频 | 久久性久久性久久久爽 | 色噜噜狠狠狠狠色综合久一 | 可以免费播放的在线视频 | 国产精品大片天天看片 | 速度与激情在线 | 成人伊人青草久久综合网 | 二级片在线 | 淫操| 啪啪网站色大全免费 | 搜索黄色录像 | a理论片 | 久久婷婷影院 | 色网站在线 | 你懂得的在线观看免费视频 | 国产美女视频黄a视频免费全过程 | 一本到在线观看视频不卡 | 午夜影院网页 | 久草视频一区 |