STM32 UART的DMA与非DMA性能对比

embedded/2024/11/25 11:16:27/

低波特率发送数据发送数据比较占用CPU时间

DMA在低波特率发送数据时,应该还是比较有作用的。

实验代码

DEBUG_IO2_TOG();	
UartDMASend(DebugRxBuf, m_Len);							//9.3us	
DEBUG_IO2_TOG();	DEBUG_IO1_TOG();		
SocUartSendString( INFRARED_UART, DebugRxBuf, m_Len);	//100字节207ms 
DEBUG_IO1_TOG();

实验结果

串口9600发送100字节,非DMA vs DMA 207ms: 9.3us
在这里插入图片描述

在另外一个测试中,在主程序中跑简单程序,测试程序跑的次数,两个


http://www.ppmy.cn/embedded/140362.html

相关文章

241123-UEFI模式下Linux-Windows双系统通过Grub设置选择开机系统

A. 准备工作: 将Linux系统作为默认启动系统 通过BIOS或EasyUEFI设置启动首选项为对应的Linux系统 A.1 通过BIOS选择对应的Linux系统 技嘉进入BIOS的按键 A.2 通过绿色向上箭头置顶Linux系统,下载地址: EasyUEFI A.1 与 A.2本质上执行的相同的操作 B. …

unsloth vlm模型Qwen2-VL、Llama 3.2 Vision微调案例

T4卡15G显卡训练 参考: https://github.com/unslothai/unsloth 按自己显卡cuda版本安装 免费colab微调代码: Qwen2-VL: https://colab.research.google.com/drive/1whHb54GNZMrNxIsi2wm2EY_-Pvo2QyKh?usp=sharing from unsloth import FastVisionModel # NEW instead …

在云聊室项目中的前后端中,定义的一套前后端逻辑

1.用户信息 用户在完成登陆后,会获得token和userinfo的会话信息 // userinfo示范 {"id": null,"openId": "123123736EF541112312312313","nickname": "Deryck","roles": "player","p…

【jvm】解释器

目录 1. 说明2. 工作原理3. 特点4. JVM解释器与JIT编译器的关系5. JVM解释器的优化 1. 说明 1.JVM(Java虚拟机)解释器是JVM的一个重要组成部分,负责将Java字节码指令翻译并执行为本地机器码。 2. 工作原理 1.读取字节码指令:JV…

衡山派D133EBS 开发环境安装及SDK编译烧写镜像烧录

1.创建新文件夹,用来存放SDK包(其实本质就是路径要对就ok了),右键鼠标通过Open Git Bash here来打开git 输入命令 git clone --depth1 https://gitee.com/lcsc/luban-lite.git 来拉取,如下所示:&#xff0…

Spring 框架环境搭建

一、新建 Maven 项⽬ 1.创建 Maven 的普通 Java 项⽬ 2. 设置项⽬的坐标 3.设置项⽬的 Maven 环境 4、设置项⽬的名称和存放的⼯作空间 二、调整项⽬环境 1. 修改 JDK 版本 2.改单元测试 JUnit 版本 3.build标签中的pluginManagement标签 三、添加 Spring 框架的依赖坐标 …

WPF——自定义ToolTip

问题 前一天制作的图标按钮,在测试的过程中发现一个问题:为图标按钮添加的提示如下图所示,它的显示效果非常差,甚至不能看清文本内容,并且其字体与颜色也不是愚所希望的。 产生原因 此是由于tooltip有一个默认的样式…

信号控制技巧

信号控制技巧 • 检查是否真正需要全局复位。 • 避免异步控制信号。 • 保持时钟、使能和复位信号极性一致。 • 勿将置位和复位编码到同一寄存器元件中。 • 如果确实需要异步复位,应务必与异步复位的解除保持同步。 掌握推断的结果 您的代码最终必须映…