一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

STM32串口收發(fā)數(shù)據(jù)為什么要使用DMA

GReq_mcu168 ? 來源:STM32嵌入式開發(fā) ? 作者:STM32嵌入式開發(fā) ? 2022-02-12 13:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

直接存儲器訪問(Direct Memory Access),簡稱DMA。DMA是CPU一個用于數(shù)據(jù)從一個地址空間到另一地址空間“搬運”(拷貝)的組件,數(shù)據(jù)拷貝過程不需CPU干預,數(shù)據(jù)拷貝結束則通知CPU處理。因此,大量數(shù)據(jù)拷貝時,使用DMA可以釋放CPU資源,相關文章推薦:詳解STM32中的DMA原理。

在STM32控制器中,芯片采用Cortex-M3架構,總線結構有了很大的優(yōu)化,DMA占用另外的總線,并不會與CPU的系統(tǒng)總線發(fā)生沖突。也就是說,DMA的使用不會影響CPU的運行速度。

STM32串口收發(fā)數(shù)據(jù)為什么要使用DMA

DMA數(shù)據(jù)拷貝過程,典型的有:

內存—>內存,內存間拷貝

外設—>內存,如uart、spi、i2c等總線接收數(shù)據(jù)過程

內存—>外設,如uart、spi、i2c等總線發(fā)送數(shù)據(jù)過程

串口有必要使用DMA嗎

串口(UART)是一種低速的串行異步通信,適用于低速通信場景,通常使用的波特率小于或等于115200bps。PC與STM32單片機通信實例推薦:按下按鍵,通過串口發(fā)送數(shù)據(jù)實例。

對于小于或者等于115200bps波特率的,而且數(shù)據(jù)量不大的通信場景,一般沒必要使用DMA,或者說使用DMA并未能充分發(fā)揮出DMA的作用。

對于數(shù)量大,或者波特率提高時,必須使用DMA以釋放CPU資源,因為高波特率可能帶來CPU資源過度浪費的問題。

舉個例子

對于發(fā)送,使用循環(huán)發(fā)送,可能阻塞線程,需要消耗大量CPU資源“搬運”數(shù)據(jù),浪費CPU。對于發(fā)送,使用中斷發(fā)送,不會阻塞線程,但需浪費大量中斷資源,CPU頻繁響應中斷。以115200bps波特率,1s大約傳輸11520字節(jié),大約69us需響應一次中斷,如波特率再提高,將消耗更多CPU資源。

對于接收,如仍采用傳統(tǒng)的中斷模式接收,同樣會因為頻繁中斷導致消耗大量CPU資源。

因此,在高波特率傳輸場景下,串口非常有必要使用DMA。

原文標題:STM32串口收發(fā)數(shù)據(jù)為什么要使用DMA?

文章出處:【微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅

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

    關注

    459

    文章

    52494

    瀏覽量

    440654
  • 控制器
    +關注

    關注

    114

    文章

    17100

    瀏覽量

    184221
  • STM32
    +關注

    關注

    2293

    文章

    11032

    瀏覽量

    364771

原文標題:STM32串口收發(fā)數(shù)據(jù)為什么要使用DMA?

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    PL2303串口驅動

    PL2303串口驅動
    發(fā)表于 04-09 16:02 ?2次下載

    PL2303串口驅動win10版本用

    PL2303串口驅動win10版本用
    發(fā)表于 04-09 16:02 ?0次下載

    cp2102串口驅動

    cp2102串口驅動
    發(fā)表于 04-09 16:01 ?6次下載

    STM32串口下載軟件(FLYMCU)

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

    stm32f105串口數(shù)據(jù)丟失的原因?

    hal庫通過dma空閑中斷接收數(shù)據(jù),收到的數(shù)據(jù)直接通過串口打印出去,每隔一段時間出現(xiàn)接收到數(shù)據(jù)丟失是為啥呢
    發(fā)表于 03-14 13:38

    STM32G4串口無法發(fā)送正確的信息是怎么回事?

    STM32G4串口無法發(fā)送正確的信息
    發(fā)表于 03-14 07:14

    STM32串口通信,上電和斷電串口助手會返回數(shù)是怎么回事?

    STM32串口通信,上電和斷電串口助手會返回數(shù),是為什么呢
    發(fā)表于 03-12 07:57

    使用Labview做一個485串口電子秤程序

    232、485串口通訊是最常見的儀器儀表通訊方式之一,本文詳細介紹,用Labview編寫一個電子秤的485串口程序.
    發(fā)表于 03-06 18:11 ?0次下載

    用Labview寫一個電子稱的485串口程序

    關鍵詞:Labview + 串口程序 232、485串口通訊是最常見的儀器儀表通訊方式之一,本文詳細介紹,用Labview編寫一個電子秤的485串口程序.
    的頭像 發(fā)表于 03-06 09:54 ?724次閱讀
    用Labview寫一個電子稱的485<b class='flag-5'>串口</b>程序

    3.5英寸高清智能串口屏 8位MCU并口通信的COG裸屏 或帶驅動板232串口通信的智能屏

    3.5英寸高清智能串口屏 8位MCU并口通信的COG裸屏 或帶驅動板232串口通信的智能屏
    的頭像 發(fā)表于 02-18 14:49 ?416次閱讀
    3.5英寸高清智能<b class='flag-5'>串口</b>屏 8位MCU并口通信的COG裸屏 或帶驅動板232<b class='flag-5'>串口</b>通信的智能屏

    RS232串口連接方式及注意事項

    交換。 RS-232串口簡介 RS-232標準最初由電子工業(yè)聯(lián)盟(EIA)在1960年制定,用于定義串行通信的電氣特性、信號定時和數(shù)據(jù)格式。RS-232串口使用25針的D型連接器(DB-25),但后來更常用的是9針的D型連接器(
    的頭像 發(fā)表于 12-10 16:23 ?4706次閱讀

    LS10串口數(shù)據(jù)庫模塊外擴SD卡功能

    LS10串口數(shù)據(jù)庫模塊外擴SD卡功能
    的頭像 發(fā)表于 11-23 09:42 ?538次閱讀
    LS10<b class='flag-5'>串口</b><b class='flag-5'>數(shù)據(jù)</b>庫模塊外擴SD卡功能

    FT232芯片設計的USB轉RS232串口原理圖

    FT232芯片設計的USB轉RS232串口原理圖
    發(fā)表于 10-21 11:06 ?13次下載

    快速實現(xiàn)C2000串口程序升級

    電子發(fā)燒友網(wǎng)站提供《快速實現(xiàn)C2000串口程序升級.pdf》資料免費下載
    發(fā)表于 08-29 10:50 ?2次下載
    快速實現(xiàn)C2000<b class='flag-5'>串口</b>程序升級

    集特推薦 雙網(wǎng)10串口飛騰FT2000商用臺式電腦主機

    前段時間為大家分享了國產龍芯、海光、飛騰D2000的商務臺式機,它們的共同特點都是單網(wǎng),1個RS232串口。今天就為大家推薦一款雙網(wǎng)、可擴展10串口、14USB接口的飛騰FT200
    的頭像 發(fā)表于 07-17 16:04 ?1028次閱讀
    集特推薦  雙網(wǎng)10<b class='flag-5'>串口</b>飛騰FT2000商用臺式電腦主機