硬汉嵌入式论坛

 找回密码
 立即注册
查看: 307|回复: 5
收起左侧

[UART] usart+dma

[复制链接]

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2025-5-17 15:40:08 | 显示全部楼层 |阅读模式
stm32h743 usart+dma  在波特率不对的情况下,DMA接收到的长度为0 ,但是 rdr寄存器有数据,这是为什么
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2025-5-18 08:35:59 | 显示全部楼层
可以看下dma ndtr寄存器变化
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2025-5-19 08:37:51 | 显示全部楼层
eric2013 发表于 2025-5-18 08:35
可以看下dma ndtr寄存器变化

没有变化,底层波特率9600 ,串口用9600发数据没问题,但是串口用19200发数据,rdr有数据,dma ndtr 没数据
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2025-5-20 08:25:59 | 显示全部楼层
1103835368 发表于 2025-5-19 08:37
没有变化,底层波特率9600 ,串口用9600发数据没问题,但是串口用19200发数据,rdr有数据,dma ndtr 没数 ...

那感觉没什么研究价值了,dma ndtr是dma的递减计数器
回复

使用道具 举报

6

主题

268

回帖

286

积分

高级会员

积分
286
发表于 2025-5-20 08:49:22 | 显示全部楼层
开了缓存吧?
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2025-5-20 08:59:50 | 显示全部楼层

开了,比如底层波特率设置9600 ,上位机9600可以正常接收到的没问题。但是上位机改为19200.寄存器有数据,dma ndtr 不会递减
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-10 04:09 , Processed in 0.235932 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表