电子产业一站式赋能平台

PCB联盟网

搜索
查看: 2082|回复: 2
收起左侧

关于stm32 DMA问题。。。。。。。。。。。。。。。。。。。。

[复制链接]

598

主题

943

帖子

5138

积分

四级会员

Rank: 4

积分
5138
发表于 2023-4-11 15:13:15 | 显示全部楼层 |阅读模式
USART总线开空闲中断,在接收时用DMA把usart的DR寄存器数搬到一个全局变量里(数组),在中断时读全局变量。以完成一次中断读一个字符串。
但有两个问题
1-DMA 一旦开始会不停的搬运,DR寄存器接收的更新的慢的话,这样的话会不会同一个数被搬运了多次?
2-如果DR寄存器刷新的很快的话,会不会有的数来不及搬运?


DMA在设置为DMA_Mode_Circular时,就只能一次接着一次不听地搬运?每次搬运开始的时刻不能通过事件去触发
关于stm32   DMA问题。。。。。。。。。。。。。。。。。。。。-1.jpg
回复

使用道具 举报

2851

主题

4614

帖子

2万

积分

官网认证

Rank: 3Rank: 3

积分
25793

活跃会员热心会员推广达人优秀版主

发表于 2023-4-11 15:13:36 | 显示全部楼层
你试试用dma中断,然后弄一个全局flag,只有dr寄存器更新时才往dma buff填充数据,然后使能dma,然后dma发送完后在清空中断里关闭dma,你试试这样行不行
关于stm32   DMA问题。。。。。。。。。。。。。。。。。。。。-1.png
回复 支持 反对

使用道具 举报

1

主题

595

帖子

2070

积分

三级会员

Rank: 3Rank: 3

积分
2070
发表于 2023-4-12 08:41:18 | 显示全部楼层
666666666666666
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表