请教VB串口转RS485通讯的一个问题
大家好,我用VB的MSComm控件做的上位机,下位机是一片单片机,PC串口上接一个232转485的转换器与单片机通讯,单片机端用的MAX487芯片。用二进制收发。
1、现在PC给单片机发送数据后,单片机内必须延迟100多ms,再向PC回送数据,PC才能将数据收全,否则接收数据错误。
2、在PC的串口上,将串口的收发线直接短接,就是说用串口自发自收,没问题,串口上加上485 转换器后,就必须在单片机内做延时了
3、如果单片机向PC回送几十个数据,前面的数据错误,从开始正确的数据 开始,往其后的数据都是正确的。比如单片机延时50ms,PC收到的数据前10个不正确,后面的几十个数据都正确
如延时70ms,PC收到的数据前7个不正确,后面的都正确。
如不延时,会有近20个数据不正确。
4、用串口调试助手,则不存在需延时的问题。
请教一下这问题怎么解决,先谢了