逻辑是:PC通过串口助手发送数据给单片机使之进入中断后单片机将数据发送给PC。实验现象是:1:单片机通过485直接发送数据(不用中断),接收正确。2:使用串口中断后,在串口助手中发送16进制数中断进不去,发送字符串可以进中断但收到数据不对。3:感觉软件没问题就是用232试了下,收发完全正确,包括中断。求大神解释下为什么485使用中断后收的数据不对?
MAX485 你说的我全做了,AB没有反,如果反得话直接发送数据不会对的。
追答单片机串口用中断发数据通过485->232->PC,串口助手收到的数据正常么?
发送16进制数中断进不去,发送字符串可以进中断但收到数据不对?你发一个还是一串?
我直接232转USB,没有485转232,收到数据正常的,我用的字符串格式,比如“00”,这个可以进中断,但16进制00进不了中断,有没有可能硬件坏了?
追答既然收有问题,可以先调通发看下有没问题嘛. 单片机TTL232电平每间1S发0X55到MAX485-----485->232--USB------->PC串口调试助手,看显示收到的数据有没错,有错的话可能是单片机板上的485芯片坏或者 485转232 坏了.(还有注意一下收到波特率是不是一致滴)