[STM32F1] stm32f103c8串口总有其他干扰数据

[复制链接]
 楼主| WHALEE 发表于 2025-3-22 10:30 | 显示全部楼层 |阅读模式
stm32f103c8串口总有其他干扰数据,不是发出的数据。
在用其他片子时也有同样问题。在串口接收程序中需要做数据剔除操作。
不知道这些无法预料到数据时从那里莱的
Wordsworth 发表于 2025-3-26 08:18 | 显示全部楼层
旁边有 WiFi、蓝牙或者开关电源之类的干扰源吗?串口线尽量远离这些高频设备。
Bblythe 发表于 2025-3-26 08:20 | 显示全部楼层
串口线是不是太长了?如果距离远,建议用屏蔽线,或者改用差分通信(如 RS485)。
Pulitzer 发表于 2025-3-26 08:20 | 显示全部楼层
试试给串口数据包加个 帧头 + 校验位,如果干扰数据不是协议内的数据,就可以直接丢弃。
Uriah 发表于 2025-3-26 08:21 | 显示全部楼层
STM32F1 串口自带噪声滤波功能,看看 USART_CR1 里是否开启了 USART_CR1_OVER8(8倍过采样)。
Clyde011 发表于 2025-3-26 08:22 | 显示全部楼层
如果问题持续存在,可以用逻辑分析仪或示波器抓波形,看看这些干扰数据的来源。
公羊子丹 发表于 2025-3-26 08:23 | 显示全部楼层
这个问题可能是串口浮空导致的,试试在空闲时给 RX 引脚加上上拉电阻(10K 左右)。
周半梅 发表于 2025-3-26 08:24 | 显示全部楼层
你用的是 TTL 串口还是 RS232/RS485?如果是 TTL,看看是否有其他设备影响信号质量。
帛灿灿 发表于 2025-3-26 08:25 | 显示全部楼层
波特率设置和实际设备匹配吗?如果时钟源有偏差,可能会导致接收错误数据。
童雨竹 发表于 2025-3-26 08:26 | 显示全部楼层
试试加个硬件滤波,比如在 RX 线上加一个小电容(如 100pF)看看有没有改善。
万图 发表于 2025-3-26 08:26 | 显示全部楼层
你是用 USART_IT_RXNE 中断方式接收,还是 DMA?DMA 有时可能会读取到不完整的数据。
peterLaw 发表于 2025-3-26 17:24 | 显示全部楼层
旁边是不是又大功率器件导致的
梅花香自123 发表于 2025-3-31 22:49 | 显示全部楼层
你在 STM32F103C8 的串口通信中遇到干扰数据问题,可能的原因有很多。
梅花香自123 发表于 2025-3-31 22:51 | 显示全部楼层
对于串口通信而言,数据干扰通常会影响到接收的有效数据。
丢丢手绢666 发表于 2025-3-31 23:45 | 显示全部楼层
如果使用的 UART 信号线较长,或者线路没有足够的屏蔽,可能会导致信号噪声,干扰接收数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

39

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

39

主题

39

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部