[技术问答] 串口接收问题

[复制链接]
1803|11
 楼主| cr315 发表于 2025-2-23 13:00 | 显示全部楼层 |阅读模式
在串口接收数据的时候,应该是(起启位,有数据位,有校验位,停止位)为一单位,一个一个接收的
我们平时只用到了数据位,我想使用取出每个字节对应的检验位,怎么能把检验位给取出来呢?
miltk 发表于 2025-5-8 16:23 | 显示全部楼层
没必要吧,自己定个协议,算一下校验就可以了
hhdhy 发表于 2025-5-8 17:32 | 显示全部楼层
一般都是不校验的吧,好像是这样
yuliangren 发表于 2025-5-8 18:45 | 显示全部楼层
我觉得就是定个协议自己校验,这样比较好用
tiakon 发表于 2025-5-8 19:23 | 显示全部楼层
你想用串口接收数据的校验是么?那不是硬件很直接给做了吗
teaccch 发表于 2025-5-8 21:05 | 显示全部楼层
在串口通信中,校验位是用于数据校验的附加位,通常与起始位、数据位和停止位共同构成一个完整的传输单元。若需提取校验位,需从硬件协议层解析,并结合软件实现
gongqijuns 发表于 2025-5-8 22:19 | 显示全部楼层
一个完整的串口数据帧通常包含以下字段(以8-N-1格式为例)
gra22ce 发表于 2025-5-9 08:27 | 显示全部楼层
通过串口中断或轮询方式逐位接收数据,并提取校验位
eleg34ance 发表于 2025-5-9 10:00 | 显示全部楼层
部分MCU的UART外设会自动剥离起始位、停止位和校验位,仅提供数据位给软件。此时需通过硬件手册确认是否支持直接读取原始数据位(含校验位)。
pe66ak 发表于 2025-5-9 11:36 | 显示全部楼层
若硬件不支持,需通过外部逻辑或软件模拟逐位采样
hight1light 发表于 2025-5-9 13:57 | 显示全部楼层
校验位通常位于数据位之后、停止位之前(即第9位,LSB为第0位)。
四十四次日落 发表于 2025-8-28 12:44 | 显示全部楼层
串口接收问题需从多维度排查:先核对硬件,检查 TX/RX 引脚是否接反、接线是否松动,确认电平匹配(如 TTL 与 RS232 需转换);再查参数,确保波特率、数据位、停止位、校验位与发送端一致;软件上,排查接收缓冲区是否溢出、中断优先级是否合理,同时需排除电磁干扰,可增加屏蔽或滤波措施。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1466

主题

4964

帖子

0

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