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

    文章

    6775

    浏览量

    190319
  • PWM
    PWM
    +关注

    关注

    116

    文章

    5648

    浏览量

    220481
  • PC
    PC
    +关注

    关注

    9

    文章

    2158

    浏览量

    157157
  • 代码
    +关注

    关注

    30

    文章

    4908

    浏览量

    71271

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Analog Devices Inc. LTC7805演示板DC3138A数据手册

    Analog Devices Inc. LTC7805演示板DC3138A演示LTC7805双通道直流/直流转换器,其工作输入电压范围为12V至36V。LTC7805同步降压控制器是
    的头像 发表于 06-27 09:33 ?246次阅读
    Analog Devices Inc. LTC7805<b class='flag-5'>演示</b>板DC3138A数据手册

    Analog Devices Inc. LTC3311演示板特性/测试设置

    Analog Devices Inc. LTC3311 LTC3311演示板是用于LTC3311同步降压Silent Switcher?器件的演示和开发平台。LTC3311 Silent
    的头像 发表于 06-19 15:41 ?397次阅读
    Analog Devices Inc. LTC3311<b class='flag-5'>演示</b>板特性/测试设置

    时间同步装置的应用领域介绍

    时间同步装置是种用于确保不同设备之间时间致性的装置。在现代社会中,各种设备都需要准确的时间参考,如计算机网络、通信系统、金融交易、工业自动化等。时间同步装置能够通过协调和
    的头像 发表于 06-19 14:18 ?238次阅读
    时间<b class='flag-5'>同步</b>装置的应用领域<b class='flag-5'>介绍</b>

    Analog Devices Inc. DC2711A LT8608S用演示板数据手册

    Analog Devices Inc. DC2711A演示板是款42V、1.5A同步降压稳压器,包含LT8608S器件。LT8608S是款紧凑、高效、高速的
    的头像 发表于 06-19 13:52 ?308次阅读
    Analog Devices Inc. DC2711A LT8608S用<b class='flag-5'>演示</b>板数据手册

    零死角玩转STM32——系统

    本文共4册,由于资料内存过大,分开上传,有需要的朋友可以去主页搜索下载哦~ 《零死角玩转 STM32》系列教程由初级、中级、高级、系统、四个部分组成,更适合初学者,步步为营,
    发表于 05-21 14:08

    ntp时钟同步服务器是什么?ntp时钟同步服务器介绍

    种关于网络时间的设备,你也可以叫他网络时间同步设备,或者网络同步时钟系统等。今天小编就跟大家简单介绍下它。网络时钟同步服务器行业人员通常会
    的头像 发表于 05-13 15:19 ?371次阅读
    ntp时钟<b class='flag-5'>同步</b>服务器是什么?ntp时钟<b class='flag-5'>同步</b>服务器<b class='flag-5'>介绍</b>

    如何使用EXIT0来触发DMA实现SPI发送数据?

    请问下,我想使用EXIT0来触发DMA实现SPI发送数据。我现在使用PB0作为EXIT0的触发源,我把PB0配置为外部中断模式,DMAMUX同步模式使能,选择EXIT0作为同步信号源
    发表于 04-23 07:31

    【「零基础开发AI Agent」阅读体验】总体预览及入门

    基础知识有所补充,另外书本后面的案例也会对Ai的应用产生些启发. 首先老规矩,先看下目录结构 包含3大主题: 入门:介绍了Agent的概念、发展、与Prompt和Copilot
    发表于 04-20 21:53

    基础-开关电源的同步与非同步

    同步开关电源和异步开关电源之前,我们首先来回顾下传统的开关电源,工作工程见下: 当Q1打开,Q2关闭,Vsw为高,IQ1增加,IQ2为零,电感电流增加。 当Q1关闭,Q2打开,Vsw为低,IQ1为零
    发表于 04-17 11:49

    高精度时钟同步系统的重要性介绍

    科学技术的发展让每个时钟同步系统都变的越来越重要,从单独的个计算机系统时钟同步,到个数据中心系统,再到个5G通信系统时钟
    的头像 发表于 04-17 11:14 ?328次阅读
    高精度时钟<b class='flag-5'>同步</b>系统的重要性<b class='flag-5'>介绍</b>

    STM32Cube学习笔记 (十六全)

    资料介绍: STM32Cube学习笔记,步手把手带你进入STM32Cube的世界,包括点灯,按键,串口,ADC,DAC等等共16
    发表于 03-22 17:02

    使用STM32H743对外部个ADC芯片做数据采集,根据CubeMX配置的驱动无法触发SPI,怎么解决?

    HAL_SPI_Receive_DMA也可以进行通信。 但EXTI0事件却无法触发同步SPI DMA传输,请问是否有大神知道,有哪些细节没有配置到位吗? 首次使用STM32H7,对DMAMUX不是很了解。
    发表于 03-07 07:40

    氮化镓电源芯片和同步整流芯片介绍

    氮化镓电源芯片和同步整流芯片在电源系统中犹如对默契的搭档,通过紧密配合,显著提升电源效率。在开关电源的工作过程中,氮化镓电源芯片凭借其快速的开关速度和高频率的开关能力,能够迅速地切换电路状态,实现
    的头像 发表于 01-15 16:08 ?1127次阅读

    HarmonyOS Next MQTT演示

    HarmonyOS Next MQTT演示
    发表于 11-07 16:54

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

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