社区
单片机/工控
帖子详情
STM32__DMA方式——从内存中向串口的发送寄存器搬运数据,速度可能不匹配???
fghdhegd
2014-01-26 06:29:44
内存中定义了一个5200长度的数组,通过DMA方式把数组中的内容搬运到串口的USART1->DR中,
假设USART1->DR中的数据还没有发送完毕,下一个待发送的数据就到了,会把先前USART1->DR中的数据覆盖掉吗?
难道DMA待USART1->DR中的数据发送完毕后才搬运下一个数据?
...全文
263
3
打赏
收藏
STM32__DMA方式——从内存中向串口的发送寄存器搬运数据,速度可能不匹配???
内存中定义了一个5200长度的数组,通过DMA方式把数组中的内容搬运到串口的USART1->DR中, 假设USART1->DR中的数据还没有发送完毕,下一个待发送的数据就到了,会把先前USART1->DR中的数据覆盖掉吗? 难道DMA待USART1->DR中的数据发送完毕后才搬运下一个数据?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
YTerrenceLau
2014-01-27
打赏
举报
回复
这要看是设备自己的dma还是通用dma,独有的dma基本都会处理还没发完的情况。 通用dma要看dma相关文档。
不再为你停留
2014-01-27
打赏
举报
回复
嗯,应该就是这样的。。
of123
2014-01-27
打赏
举报
回复
貌似不能使用 DMA 来干这种事。除非 UART 有一个可以自己操作的 FIFO。 有些芯片的 SPI 接口有 4 字节的 FIFO,因此可用 DMA 传送 4 字节的数据到 FIFO。当然,传完这 4 字节还是通过中断或轮询来等待 SPI 传送完成。
串口
DMA收发(基于429).zip
串口
通过发出dma请求,使用dma
搬运
串口
数据
,
串口
发送
:dma将
数据
搬运
至移位
寄存器
,
串口
接收:dma将移位
寄存器
的
数据
搬运
到自己指定的
内存
空间,不需要使能接收
中
断。
STM
32学习——DMA实验三、外设到
内存
搬运
使用DMA的
方式
将
串口
接收缓存
寄存器
的值
搬运
到
内存
中
,同时闪烁LED1。DMA。
STM
32-DMA传输实验(
寄存器
版)
STM
32-DMA传输实验(
寄存器
版)
STM
32F103,DMA控制器利用
串口
发送
数据
实验目的: 利用
串口
DMA将不断
数据
发送
出去 实验思路: 利用DMA这个
搬运
工,将
数据
一个个搬到USART1的DR
寄存器
,大概步骤如下: 1,找到USART1的
发送
引脚和接收引脚 2,配置改引脚为复用功能,开启
串口
传输,只要DR有
数据
就会传输出去 3,找到
发送
引脚的DMA通道 4,配置DMA通道,将DR设置为外设地址,将数组,结构体等设置为
内存
地址,这里用数组做测试。 5,使能
串口
DMA,开启DMA,数组的元素一个个
发送
到DR,从DR再到移位
寄存器
,数组地址递增,DR地址不能变,故不递增。 usart.c
STM
32学习之DMA 直接
寄存器
读取
关于
STM
32学习分享 第六章 DMA 直接
寄存器
读取 文章目录关于
STM
32学习分享前言二、代码1.dma_mtm.c2.dma_mtm.h3.main.c总结 前言 开始!开始!单片机的输出和输入来自于IO口的控制,设置IO输入输出模式获取
数据
或者控制外部。 # 一、DMA 直接
寄存器
读取 1、DMA_MTM 2、DMA_MTP 二、代码 1.dma_mtm.c 代码如下(示例): #include "dma_mtm.h" /* 定义aSRC_Const_Buffer数组作为DMA传输
数据
单片机/工控
27,383
社区成员
28,770
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章