0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍一篇基于DMAMUX同步事件的应用演示

单片机 来源:茶话MCU 作者: Miler 2021-08-14 14:55 次阅读

STM32家族中的很多系列,比如STM32G0/STM32G4/STM32L4+/STM32H7等都内置了DMAMUX模块。有了它一方面使得DMA请求与DMA控制器之间的映射关系更为灵活方便,同时也大大拓展了DMA请求事件,不再局限于外设事件,比方可以基于GPIO的外部中断事件、或者DMA事件本身来触发DMA传输。另外,DMA传输的实现还可以基于其它触发事件来同步其操作,即DMA传输的实现需要借助其它同步事件来真正启动。

本文就基于STM32G4芯片简单介绍下该话题,这里要实现的功能大致是这样的:片内低功耗定时器LPTIM1的定时输出作为DMAMUX的DMA同步输入事件,该同步事件触发UART的DMA传输,通过UART输出一段字符。

本演示例程基于STM32G4系列的Nucleo板进行。低功耗定时器LPTIM工作在PWM输出模式,DMAMUX基于LPTIM每次的定时输出事件为UART2申请一定数目的DMA请求,然后DMA将数据从内存送到UART的数据寄存器并最终将内容显示在PC串口终端。

下面就直接使用STM32CubeMx进入配置过程。

通过CubeMx神器做基本的初始化配置【RCC配置此处就省略了】。

LPTIM1的参考配置如下,具体应用时请结合实际情况来定,这里只需能产生周期性定时输出即可。

UART2外设没有什么特别要提醒的,这里就不贴截图了。我们重点看看有关UART TX的DMA传输的相关配置。

上图中蓝色圈里的勾选框对于本应用演示不是必须勾选的,勾选了也没关系,不会对本演示产生影响。DMA请求数设置为21,表示每检测到1个同步事件后DMAMUX为UART传输申请21个DMA请求,以批量传输21个字符“STM32 DMA SYNCDEMO ”。

完成图形化配置后,生成初始化代码并添加必要的用户代码。

#definePeriodValue (1000)

#define PulseValue (500)

#define Size (21)

uint8_tpData[Size]={‘S’,‘T’,‘M’,‘3’,‘2’,‘ ’,‘D’,‘M’,‘A’,‘ ’,

‘S’,‘Y’,‘N’,‘C’,‘’,‘D’,‘E’,‘M’,‘O’,‘ ’,‘ ’};

HAL_LPTIM_PWM_Start(&hlptim1, PeriodValue, PulseValue) ;

HAL_UART_Transmit_DMA(&huart2, pData, Size);

编译运行,验证结果。

45dfbd00-fc1f-11eb-9bcf-12bb97331649.png

代码运行后,可以通过示波器看到LPTIM的周期性PWM输出,同时PC端也可以看到如上面截图所示的周期性呈现的字符串。

OK,本次基于DMAMUX同步事件的应用演示就介绍到这里,供君参考,更多细节还请阅读STM32相关技术手册。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 示波器
    +关注

    关注

    113

    文章

    6240

    浏览量

    184810
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5186

    浏览量

    213823
  • PC
    PC
    +关注

    关注

    9

    文章

    2078

    浏览量

    154155
  • 代码
    +关注

    关注

    30

    文章

    4780

    浏览量

    68539

原文标题:基于STM32 DMAMUX DMA同步事件的应用示例

文章出处:【微信号:aidanpianji,微信公众号:单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    同步电机的主要特性是什么?简单介绍

    同步电机是种交流电机,其转子转速与电网频率保持恒定的比例关系,即同步转速。这种电机在电力系统、工业驱动、发电机组等领域有着广泛的应用。以下是同步电机的
    的头像 发表于 10-22 09:59 284次阅读

    同步开关对多功能讲解及演示

    案例简介本案例主要讲解E860-DTU(8080-400SL)(以下简称同步开关)产品的主多从功能及使用案例,也就是平时所说的对多模式。设备可通过配置工具配置
    的头像 发表于 07-26 08:21 299次阅读
    <b class='flag-5'>同步</b>开关<b class='flag-5'>一</b>对多功能讲解及<b class='flag-5'>演示</b>

    【《大语言模型应用指南》阅读体验】+ 基础

    今天开始学习《大语言模型应用指南》第一篇——基础,对于人工智能相关专业技术人员应该可以轻松加愉快的完成此阅读,但对于我还是有许多的知识点、专业术语比较陌生,需要网上搜索学习更多的资料才能理解书中
    发表于 07-25 14:33

    TSN时钟同步 | PTP对时案例演示——基于NXP i.MX 8M Plus

    将该时间信息添加到该数据帧中。从节点获取这些时间信息,并计算从节点本地时钟与主时钟的时间偏差和网络节点之间的传输延时,对本地时钟进行纠正,使之与主节点时钟同步。 开发环境 本文主要介绍的是基于创龙科技
    发表于 07-10 10:28

    京准电钟 | NTP网络时间同步协议原理及其应用介绍

    京准电钟 NTP网络时间同步协议原理及其应用介绍
    的头像 发表于 06-12 15:22 504次阅读
    京准电钟 | NTP网络时间<b class='flag-5'>同步</b>协议原理及其应用<b class='flag-5'>介绍</b>

    请问STM32L4R5ZI的DMA/DMAMUX是怎么管理请求?

    原来的STM32系列,比如F1,是没有DMAMUX这个东西的,DMA1的1通道2通道具体对应什么样的请求,有个专门的对应表。但是现在的DMAMUX加进来以后,对于89个外设请求,并没有地方说明什么请求对应哪
    发表于 04-28 06:19

    STM32L4R5的DMAMUX异常原因?

    __HAL_RCC_DMA1_CLK_ENABLE(); __HAL_RCC_DMAMUX1_CLK_ENABLE(); /*##-3- Configure the DMA
    发表于 04-19 06:36

    STM32G070的DMA功能,如何实现外部中断触发DMA传输数据到IO口上?

    ); HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn); /*##-3- Configure and enable the DMAMUX Request
    发表于 04-01 08:24

    关于STM32 DMAMUX模块具体的应用示例代码

    有人通过公众号微信留言,询问是否有关于STM32 DMAMUX模块具体的应用示例代码。同时,个人也发现,虽然STM32片内的DMAMUX不是什么新模块,似乎还是很多人并不太熟悉。这里借机聊聊这方面的内容,重点演示相关功能的实现,
    的头像 发表于 03-25 09:15 2419次阅读
    关于STM32 <b class='flag-5'>DMAMUX</b>模块具体的应用示例代码

    永磁同步电机全速域矢量控制的全过程介绍

    直都想知道永磁同步电机的转速从零增加到极限这个过程会发生什么,这篇文章介绍下永磁同步电机全速域矢量控制的全过程,即电机的转速从零开始逐渐
    的头像 发表于 03-15 09:29 1320次阅读
    永磁<b class='flag-5'>同步</b>电机全速域矢量控制的全过程<b class='flag-5'>介绍</b>

    高频同步DC-DC降压变频器FP6397典型应用电路介绍

    电子发烧友网站提供《高频同步DC-DC降压变频器FP6397典型应用电路介绍》资料免费下载
    发表于 01-24 09:26 0次下载

    如果只做级触发器同步,如何?

    如果只做级触发器同步,如何? 级触发器同步是指只考虑最基础的触发信息进行同步,而不考虑更高层次的关联触发信息。在这篇文章中,我将详细
    的头像 发表于 01-16 16:29 454次阅读

    同步整流是什么 同步整流优点介绍

    同步整流(Synchronous Rectification)是种用于提高功率转换效率的技术,主要用于开关同步整流(Synchronous Rectification)是种用于提高
    的头像 发表于 01-12 15:19 3272次阅读
    <b class='flag-5'>同步</b>整流是什么 <b class='flag-5'>同步</b>整流优点<b class='flag-5'>介绍</b>

    适用于Linux的基于Rust的同步客户端介绍

    个简单而优雅的 GUI 同步客户端,提供双向同步
    的头像 发表于 01-05 11:32 620次阅读
    适用于Linux的基于Rust的<b class='flag-5'>同步</b>客户端<b class='flag-5'>介绍</b>

    宽范围同步降压控制器HX1304应用介绍

    电子发烧友网站提供《宽范围同步降压控制器HX1304应用介绍.pdf》资料免费下载
    发表于 12-25 09:26 1次下载