[导读]来源:https://blog.csdn.net/qq_205536131前言前面讲解过什么是E博乐国际网址?STM32如何配置E博乐国际网址?,今天和大家分享E博乐国际网址实现串口数据的收发。直接存储器访问(DirectMemoryAccess),简称E博乐国际网址。E博乐国际网址是CPU一个用于数据从一个地址空间到...
来源:https://blog.csdn.net/qq_20553613
亚星娱乐登录彩票
前面讲解过什么是E博乐国际网址? STM32如何配置E博乐国际网址?,今天和大家分享E博乐国际网址实现串口数据的收发。
直接存储器访问(Direct Memory Access),简称E博乐国际网址。E博乐国际网址是CPU一个用于数据从一个地址空间到另一地址空间“搬运”(拷贝)的组件,数据拷贝过程不需CPU干预,数据拷贝结束则通知CPU处理。因此,大量数据拷贝时,使用E博乐国际网址可以释放CPU资源。E博乐国际网址数据拷贝过程,典型的有:
-
内存—>内存,内存间拷贝
-
外设—>内存,如uart、spi、i2c等总线接收数据过程
-
内存—>外设,如uart、spi、i2c等总线发送数据过程
亚星娱乐官网注册开户
串口(uart)是一种低速的串行异步通信,适用于低速通信场景,通常使用的波特率小于或等于115200bps。对于小于或者等于115200bps波特率的,而且数据量不大的通信场景,一般没必要使用E博乐国际网址,或者说使用E博乐国际网址并未能充分发挥出E博乐国际网址的作用。
对于数量大,或者波特率提高时,必须使用E博乐国际网址以释放CPU资源,因为高波特率可能带来这样的问题:
-
对于发送,使用循环发送,可能阻塞线程,需要消耗大量CPU资源“搬运”数据,浪费CPU
-
对于发送,使用中断发送,不会阻塞线程,但需浪费大量中断资源,CPU频繁响应中断;以115200bps波特率,1s传输11520字节,大约69us需响应一次中断,如波特率再提高,将消耗更多CPU资源
-
对于接收,如仍采用传统的中断模式接收,同样会因为频繁中断导致消耗大量CPU资源
因此,高波特率场景下,串口非常有必要使用E博乐国际网址。
亚星娱乐登录官方入口
关于E博乐国际网址使用E博乐国际网址,不乏一些开发板例程及网络上一些博主的使用教程。使用步骤、流程、配置基本大同小异,正确性也没什么毛病,但都是一些基本的Demo例子,作为学习过程没问题;实际项目使用缺乏严谨性,数据量大时可能导致数据异常。
测试平台:
-
STM32F030C8T6
-
UART1/UART2
-
E博乐国际网址1 Channel2—Channel5
-
ST标准库
-
主频48MHz(外部12MHz晶振)
亚星娱乐登录体育真人
亚星娱乐官网
亚星娱乐官网app下载中心
关键步骤
【1】初始化串口
【2】使能串口E博乐国际网址接收模式,使能串口空闲中断
【3】配置E博乐国际网址参数,使能E博乐国际网址通道buf半满(传输一半数据)中断、buf溢满(传输数据完成)中断
为什么需要使用E博乐国际网址 通道buf半满中断?
很多串口E博乐国际网址模式接收的教程、例子,基本是使用了“空间中断” “E博乐国际网址传输完成中断”来接收数据。实质上这是存在风险的,当E博乐国际网址传输数据完成,CPU介入开始拷贝E博乐国际网址通道buf数据,如果此时串口继续有数据进来,E博乐国际网址继续搬运数据到buf,就有可能将数据覆盖,因为E博乐国际网址数据搬运是不受CPU控制的,即使你关闭了CPU中断。
严谨的做法需要做双buf,CPU和E博乐国际网址各自一块内存交替访问,即是"乒乓缓存” ,处理流程步骤应该是这样:
【1】第一步,E博乐国际网址先将数据搬运到buf1,搬运完成通知CPU来拷贝buf1数据 【2】第二步,E博乐国际网址将数据搬运到buf2,与CPU拷贝buf1数据不会冲突 【3】第三步,buf2数据搬运完成,通知CPU来拷贝buf2数据 【4】执行完第三步,E博乐国际网址返回执行第一步,一直循环
STM32F0系列E博乐国际网址不支持双缓存(以具体型号为准)机制,但提供了一个buf
"半满中断"
,即是数据搬运到buf大小的一半时,可以产生一个中断信号。基于这个机制,我们可以实现双缓存功能,只需将buf空间开辟大一点即可。
【1】第一步,E博乐国际网址将数据搬运完成buf的前一半时,产生“半满中断”,CPU来拷贝buf前半部分数据 【2】第二步,E博乐国际网址继续将数据搬运到buf的后半部分,与CPU拷贝buf前半部数据不会冲突 【3】第三步,buf后半部分数据搬运完成,触发“溢满中断”,CPU来拷贝buf后半部分数据 【4】执行完第三步,E博乐国际网址返回执行第一步,一直循环
UART2 E博乐国际网址模式接收配置代码如下,与其他外设使用E博乐国际网址的配置基本一致,留意关键配置:
-
串口接收,E博乐国际网址通道工作模式设为连续模式
-
使能E博乐国际网址通道接收buf半满中断、溢满(传输完成)中断
-
启动E博乐国际网址通道前清空相关状态标识,防止首次传输错乱数据
voidbsp_uart2_dmarx_config
(uint8_t *mem_addr,uint32_t mem_size)
{
E博乐国际网址_InitTypeDef E博乐国际网址_InitStructure;
E博乐国际网址_DeInit(E博乐国际网址1_Channel5);
E博乐国际网址_Cmd(E博乐国际网址1_Channel5, DISABLE);
E博乐国际网址_InitStructure.E博乐国际网址_PeripheralBaseAddr = (uint32_t)
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
北京2023年8月31日 /美通社/ -- 8月30日,由中共河曲县委、河曲县人民政府主办,中共河曲县委宣传部、河曲县文化和旅游局、保利乐享文娱科技(北京)有限公司承办的"河清盛世,曲著华章"2023...
关键字:
3D建模
BSP
E博乐国际网址
MAPPING
北京2023年8月9日 /美通社/ -- 浪潮云海经过13年的发展,到今天形成了以服务器虚拟化、超融合、InCloudOS 为代表的云海产品家族,凭借领先的产品技术能力和丰富的行业实践,满足不同行业、场景下客户的上云需求...
关键字:
E博乐国际网址
虚拟化
软硬件
CPU
北京2023年2月20日 /美通社/ -- 在经济领域有着重要影响力的CFS财经峰会2023第十二届活动定于今年7月举行,活动主题为"激活高质量发展澎湃活力"。 今年的财经峰会将以线下为主,线上结合...
关键字:
数字化
智能制造
数字经济
E博乐国际网址
Mixpanel现已在GoogleCloudMarketplace上提供。Mixpanel功能强大、易于使用的产品分析解决方案可向产品团队展示对于其产品有效和无效的举措,让团队更便捷地访问数据,并帮助他们优先考虑其路线图...
关键字:
PANEL
MIX
GOOGLE
E博乐国际网址
高盛集团(Goldman Sachs Group)周二证实了一项全面重组计划,这是该公司历史上最大的改革举措之一。高盛将把其交易和投行业务合并为一个部门,使该行从四个部门缩减至三个部门,缩减进军零售银行业务的努力,专注于...
关键字:
E博乐国际网址
GROUP
GO
AN
SWM32S单片机有1个SDIO接口,支持多媒体卡(MMC)、SD 存储卡、SDIO 卡等设备,可以使用软件方法或者 E博乐国际网址 方法(SDIO 模块内部 E博乐国际网址,与芯片 E博乐国际网址 模块无关)进行数据传输。
关键字:
SWM32S单片机
SDIO
E博乐国际网址
标普500指数今年迄今为止下跌22.7%,但高盛(Goldman Sachs)策略师认为估值依然太高。摩根士丹利旗下的Morgan Stanley Wealth Management称,面对高通胀环境下的利率大幅上升,股...
关键字:
E博乐国际网址
MANAGEMENT
ST
高盛集团(Goldman Sachs Group)计划将其最大的业务合并为三个部门,进行该华尔街公司历史上最大的一次业务重组。高盛将把其旗舰投行业务和交易业务合并为一个部门,同时将资产管理和财富管理业务合并为另一个部门。...
关键字:
APPLE
E博乐国际网址
GENERAL
GREEN
北京2022年8月8日 /美通社/ -- 8月8日,由百事公司大中华区(简称"百事公司") 联合物美集团、多点Dmall以及中国乡村发展基金会共同发起的"物美兴农·多点乐事&q...
关键字:
MIDDOT
数字化
COO
E博乐国际网址
武汉2022年7月27日 /美通社/ -- 7月25日,日立电梯联合越秀商投,在武汉越秀财富中心开展 "Landmark云端智同行"活动。活动上,日立电梯工程师为用户现场讲解电梯原理,并在写字楼内布置...
关键字:
E博乐国际网址
LAN
MARK
日立
深圳2022年6月15日 /美通社/ -- 6月9日,日立电梯(中国)有限公司(以下简称"日立电梯")联合中国华润大厦,于深圳首次启动日立电梯"landmark云端智同行"活动。...
关键字:
E博乐国际网址
LAN
MARK
日立
北京2022年5月27日 /美通社/ -- 在实现净零目标的征途上,目前各企业分别处于不同阶段,其中一些已采取了可持续的举措,而另一些则刚刚起步。为了解英国企业实现净零目标所采取的举措及取得的进展,BSI 撰写了《202...
关键字:
BSP
供应链
可持续发展
E博乐国际网址
上海2022年5月18日 /美通社/ -- 伍尔特集团处于全球装配和紧固件业务市场的领导地位,在2021财年取得了12.7亿欧元的经营业绩,创造了新的记录(2020年:7.75亿欧元)。同时销售额为171亿欧元,创下了公...
关键字:
数字化
E博乐国际网址
RS
电动工具
(全球TMT2022年1月28日讯)2022年1月,汇聚多位商学院讲师、多家顶尖数字营销公司、百余家品牌公司、多位嘉宾的第五届E博乐国际网址A国际数字营销峰会如期而至。DMMA国际数字营销大奖,旨在考量品牌传播案例对数字媒体和...
关键字:
E博乐国际网址
预处理阶段测试设备状态;向E博乐国际网址控制器的设备地址寄存器中送入设备号,并启动设备;向主存地址计数器中送入欲交换数据的主存起始地址;向字计数器中送入欲交换的数据个数 。
关键字:
E博乐国际网址
预处理
计数器
E博乐国际网址方式,Direct Memory Access,也称为成组数据传送方式,有时也称为直接内存操作。E博乐国际网址方式在数据传送过程中,没有保存现场、恢复现场之类的工作。由于CPU根本不参加传送操作,因此就省去了CPU取指令、...
关键字:
E博乐国际网址
CPU
内存
直接存储器存取是一种高速数据传输的方法,数据可以从一个通道,不经过CPU的处理就直接在存储器或输入输出设备之间进行传输。
关键字:
直接存储器
数据
E博乐国际网址
原文作者:dog250原文链接:https://blog.csdn.net/dog250/article/details/46666029线速问题很多人对这个线速概念存在误解。认为所谓线速能力就是路由器/交换机就像一根网...
关键字:
Linux
数据包
CPU
E博乐国际网址
在之前的内容里,我们使用过UART、SPI、I2C等接口进行过数据传输,在处理通信数据时,几乎都是在主程序或中断服务程序中进行数据的转存,这样耗费了大量的CPU时间。幸运的是,微控制器的设计者也考虑到这个问题,设计出了D...
关键字:
E博乐国际网址
数据传输
ST
▼关注公众号:工程师看海▼多年以后,我审核手中的音频PCB走线时,准会想起师傅带我去听音室的那个遥远的夜晚。当时,听音室只有我们两个人,模拟人头伫立在对面万籁俱寂。耳朵靠近手机听筒,我第一次听到了来自遥远时光深处的TDM...
关键字:
E博乐国际网址
噪声