[技术讨论] 单片机串口232通讯异常

[复制链接]
2610|24
 楼主| ssf621 发表于 2022-11-16 21:21 | 显示全部楼层 |阅读模式
大家好,最新遇到一个异常问题: 电路板1和电脑通讯正常, 电路板2和电脑通讯也正常
但是电路板1和电路板2通讯异常,接收数据错误。
采用示波器观察232芯片收发两端信号,232电平+5 v -5v 也正常, TTL电平0和+3.3v
波特率设置9600 8 N 1,  更换单片机不同串口,接收到数据也是异常
电路板1单片机接收引脚,无接收到数据时为低电平,外接上拉电阻也没效果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
jjjyufan 发表于 2022-11-17 09:20 | 显示全部楼层
自定义协议?从机地址分配?
LcwSwust 发表于 2022-11-17 09:20 | 显示全部楼层
你看你的图,三个串口,定然有两个TXD接到了一起,两个输出脚接一起时 一个输出高电平一个输出低电平会怎么样?
icecut 发表于 2022-11-17 09:39 | 显示全部楼层
如果这个图, 1发电脑收没问题, 2发电脑收没问题, 12收发就肯定有 问题
Boreas_Tyr 发表于 2022-11-17 09:43 | 显示全部楼层
看你描述,能收到数据,但是数据不对,先排除波特率生成过程产生的偏差(自己看手册,结合晶振计算)。一般要求通讯双方不超过5%,两侧单片机发同样数据比如0xAA,测量波形对比看看两边单片机的波特率时序差多少。
 楼主| ssf621 发表于 2022-11-17 09:46 | 显示全部楼层
单片机串口接收脚 示波器信号, 示波器显示数据是0x79,   串口程序解析出来的数据0x5e, 不知道是什么原因

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| ssf621 发表于 2022-11-17 09:47 | 显示全部楼层
LcwSwust 发表于 2022-11-17 09:20
你看你的图,三个串口,定然有两个TXD接到了一起,两个输出脚接一起时 一个输出高电平一个输出低电平会怎么 ...

三个串口,同时只链接2个,要么2个电路板链接,要么单独和电脑链接
zjk103 发表于 2022-11-17 09:50 | 显示全部楼层
是不是板1和板2的收接收,发接发了?
 楼主| ssf621 发表于 2022-11-17 10:14 | 显示全部楼层
单片机设置:1个停止位, 定时发送数据0xaa, 停止位变成了2位

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
LcwSwust 发表于 2022-11-17 10:48 | 显示全部楼层
RXD脚无接收到数据时为低电平?这肯定是不行的,应为高电平才对,需要检查电路。
“停止位变成了2位”你说的是定时发送,并非连续发送,停止位与空闲高电平相连那么高电平时间就是会很长,发一个字节后若不发下一字节那就一直会是高电平,高电平不代表全是停止位。
cmyldd 发表于 2022-11-17 12:18 | 显示全部楼层
不能这样接的
lyjian 发表于 2022-11-17 12:49 来自手机 | 显示全部楼层
本帖最后由 lyjian 于 2022-11-17 12:51 编辑

TXRX反了吧。
把电路板1、电路板2、PC的RXTX标出来再对连接看看。
 楼主| ssf621 发表于 2022-11-17 17:00 | 显示全部楼层
示波器信号图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评论

@lyjian :不管逻辑不逻辑,就像PC机2入3出,3脚没有数据时是-5V左右,他这个没数据时是+5V;  发表于 2022-11-18 17:44
@lyjian :我知道,我们PC机串口2入3出,量3脚是-5/6V左右;经过232芯片到单片机IO口就是 +3/5V;他这个没数据时是+5V(除非示波器反向了)  发表于 2022-11-18 07:28
@sjnh :232输入输出是反逻辑,输入高输出低(负电平),输入低输出高(正电平)。  发表于 2022-11-17 20:49
这个波形很怪,左下图应该没数据时-5V,右上图没数据时高电平,现象有点像SH79单片机不发送数据时TXD口是低电平,难道这个引脚还做别的用?  发表于 2022-11-17 17:34
jerkoh 发表于 2022-11-17 18:48 | 显示全部楼层
BAS70WS  二极管串TX    RX,
分离PC和  另外一台设备
ningling_21 发表于 2022-11-17 20:41 | 显示全部楼层
这样接肯定有问题
 楼主| ssf621 发表于 2022-11-17 20:50 | 显示全部楼层
本帖最后由 ssf621 于 2022-11-17 20:53 编辑

1、两块电路板共地,线路正常,收发线没有接错
2、电路板单独和电脑连接,发送命令和响应数据都正确,串口设置都是:9600  8 N 1
3、示波器观测每一位数据宽度104us,  在5%误差范围内
4、232电平:0:+5V  1:-5V,   TTL电平:0:0v   1:3.3V, 都是正常
5、stm32f103rct6是在嘉立创贴片, 使用了串口5,接收脚PD2设置悬 浮输入、上拉输入或者外接10K上拉电阻,无接收数据时,电平都是0?
6、发送端发送的第一个数据时0x79,  接收到的数据解析是 0x5e?7、以前遇到过232串口数据异常,是两块MCU之间只用了一片SP3232芯片,电平不匹配,这个问题不存在,而且已经更换过232芯片
8、232外围电容也从0.1uf 更换成了1uf
gxs64 发表于 2022-11-17 21:14 | 显示全部楼层
a1的tx与a2的tx相连,肯定出问题
gxs64 发表于 2022-11-17 21:16 | 显示全部楼层
a1和a2的tx出来串一个二极管
 楼主| ssf621 发表于 2022-11-18 08:46 | 显示全部楼层
A1 A2相互链接的时候,断开A3的 。   A1A2连接的时候,TXD RXD交叉链接,能接收到数据,只不过数据异常
zchong 发表于 2022-11-20 09:28 | 显示全部楼层
“电路板1单片机接收引脚,无接收到数据时为低电平,外接上拉电阻也没效果”这个看上去明显有问题,先解决,看看是不是这个232接口芯片坏了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

165

帖子

3

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