打印
[技术问答]

赛元MCU的UART 数据发送不正常通常原因

[复制链接]
2825|59
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AdaMaYun|  楼主 | 2024-5-23 15:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
UART 数据发送不正常可以从以下几个方面进行检查:
1) 检查波特率设置是否正确;
2) 检查 UART1 中断内部是否存在多个 SSDAT 赋值语句,导致数据错误;
3) UART 的 TX 脚和 RX 脚所在的 IO 口都需要设置为输入带上拉模式,请确认是否
设置正确;
4) 检查是否 TI 未清 0,发送数据前把中断关闭了,导致无法进中断,无法执行发送
程序;
5) TXD 口的 IO 口状态设置是否正确,92F 系列芯片需要设置 IO 口状态为输入带上
拉,95F 系列可以设置为强推输出高或者是输入带上拉模式;
6) 仿真过程仿真口上的 UART 功能是失效的,查看是否在仿真下测试的;
7) UART 设置是否正确,主频设置是否正确,建议用示波器查看 UART 波形,观察空
闲状态,起始位,结束位,波特率等信息是否正确;
8) UART 程序逻辑错误;
9) 检查芯片供电是否正常。


使用特权

评论回复
沙发
cr315| | 2024-6-3 14:43 | 只看该作者
波特率设置、中断管理、引脚配置、硬件问题、软件逻辑错误、外部干扰以及调试与测试等方面

使用特权

评论回复
板凳
sheflynn| | 2024-6-4 17:01 | 只看该作者
UART通信中,波特率设置的一致性对于数据的正确传输至关重要。如果发送端和接收端的波特率设置不一致,将导致数据传输错误或乱码。

使用特权

评论回复
地板
zerorobert| | 2024-6-5 10:51 | 只看该作者
检查发送缓冲区是否有足够的空间来存储待发送的数据。

使用特权

评论回复
5
jkl21| | 2024-6-5 12:59 | 只看该作者
更新或恢复MCU的固件到已知稳定版本。

使用特权

评论回复
6
louliana| | 2024-6-5 16:36 | 只看该作者
波特率计算不正确也会影响数据传输,确保两端设备使用相同的波特率是关键。

使用特权

评论回复
7
albertaabbot| | 2024-6-5 20:11 | 只看该作者
在发送数据时,如果软件逻辑存在问题,如数据包格式错误、发送函数调用不当等,也可能导致数据发送不正常。

使用特权

评论回复
8
iyoum| | 2024-6-6 07:50 | 只看该作者
UART程序逻辑错误也可能导致数据发送不正常。例如,发送缓冲区管理不当、发送流程设计错误等。

使用特权

评论回复
9
weifeng90| | 2024-6-6 08:00 | 只看该作者
首先检查软件配置是否有问题,然后硬件上用示波器测一下信号是否正常。

使用特权

评论回复
10
abotomson| | 2024-6-7 08:27 | 只看该作者
数据位长度不匹配会造成数据解析错误,通常数据位设置为8位。

使用特权

评论回复
11
juliestephen| | 2024-6-7 12:04 | 只看该作者
确认连接电缆是否有损坏或接触不良。

使用特权

评论回复
12
cemaj| | 2024-6-7 15:56 | 只看该作者
如果使用中断来处理UART传输,检查中断优先级、中断服务例程(ISR)是否正确设置。
确保ISR没有被其他更高优先级的中断服务例程阻塞。

使用特权

评论回复
13
jonas222| | 2024-6-7 19:38 | 只看该作者
错误配置奇偶校验会导致数据错误无法被检测出来,应确保校验方式符合通信协议的要求。

使用特权

评论回复
14
cashrwood| | 2024-6-8 10:37 | 只看该作者
检查是否由于外部时钟源的问题而导致波特率不准确。

使用特权

评论回复
15
belindagraham| | 2024-6-8 14:19 | 只看该作者
UART通信依赖于双方设定的波特率(baud rate)匹配。如果发送端和接收端的波特率不匹配,数据可能无法正确传输。

使用特权

评论回复
16
bestwell| | 2024-6-8 18:29 | 只看该作者
检查UART中断内部是否存在多个对发送寄存器赋值语句,这可能导致数据发送的混乱或错误。

使用特权

评论回复
17
ccook11| | 2024-6-8 22:23 | 只看该作者
包括线路噪声、电平转换不当(例如3.3V与5V电平不兼容)、信号完整性问题等,都可能导致数据传输异常。使用示波器检查信号质量。

使用特权

评论回复
18
wilhelmina2| | 2024-6-9 10:49 | 只看该作者
如果MCU与外部设备的波特率设置不一致,会导致数据传输错误。

使用特权

评论回复
19
pl202| | 2024-6-9 14:40 | 只看该作者
极少数情况下,MCU本身可能存在制造缺陷或损坏,这需要更换设备或联系制造商进行维修。

使用特权

评论回复
20
lzbf| | 2024-6-9 18:36 | 只看该作者
UART通信中,数据格式(包括起始位、数据位、校验位和停止位)的设置必须一致。如果双方设置不一致,将导致接收到的数据为乱码。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

248

主题

1917

帖子

3

粉丝