用MSP430做485通信,但PC收到的数据不对。使用MAX485(单独USB供电)转换电平和485转USB,串口助手收发数据

逻辑是:PC通过串口助手发送数据给单片机使之进入中断后单片机将数据发送给PC。实验现象是:1:单片机通过485直接发送数据(不用中断),接收正确。2:使用串口中断后,在串口助手中发送16进制数中断进不去,发送字符串可以进中断但收到数据不对。3:感觉软件没问题就是用232试了下,收发完全正确,包括中断。求大神解释下为什么485使用中断后收的数据不对?

没电路么?用什么485芯片? 一般485都是半双功,收的时候不能发,比如MAX485,有两个引脚控制收发方向,在将数据放入串口发送前就应将引脚置为发送电平,并且发送完成后还要延时一点时间再将方向置为接收。还有看下AB线是不是接反了?追问

MAX485 你说的我全做了,AB没有反,如果反得话直接发送数据不会对的。

追答

单片机串口用中断发数据通过485->232->PC,串口助手收到的数据正常么?
发送16进制数中断进不去,发送字符串可以进中断但收到数据不对?你发一个还是一串?

追问

我直接232转USB,没有485转232,收到数据正常的,我用的字符串格式,比如“00”,这个可以进中断,但16进制00进不了中断,有没有可能硬件坏了?

追答

既然收有问题,可以先调通发看下有没问题嘛. 单片机TTL232电平每间1S发0X55到MAX485-----485->232--USB------->PC串口调试助手,看显示收到的数据有没错,有错的话可能是单片机板上的485芯片坏或者 485转232 坏了.(还有注意一下收到波特率是不是一致滴)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-09
你好,不知道你的问题解决没?我也有同样的问题,是什么原因啊?小弟先在这里谢谢了!
第2个回答  2013-06-01
这个要多注意晶振晶振是不是不统一
相似回答