STC单片机通讯 主机和从机分别调试通过,就是不能通讯?

主机和PC用串口调试助手,可以通讯,从机和PC用串口调试助手,也可以通讯,就是主机和从机之间不能通讯!?
主机单片机:STC12C5A16AD晶振11.0592
从机单片机:STC11F16XE 晶振22.1184
通讯波特率9600.
通讯方式:主机是485+485转232模块,从机是232.
谁遇到过?

确定两点
一、接线。如果主机和PC是直接连的,从机和PC也是直接连的,那么主机和从机则需要交叉连,即主的DB9的2脚对从的DB9的3脚,主的3脚对从的2脚
二、波特率的精确度,假设主的实际波特率为9400,从的实际波特率为9800,他们都可以和PC9600通讯,但是9400对9800,就出错了追问

1,引脚对调的问题已经试过了,不是它。
2,波特率用心查过的,数据偏差值是晶振的精度。这个我没法测量。

我试了将主机电路改成232的,通讯成功了,是否是485电路的问题,贴上图,帮忙看看。

追答

主从的通讯机制是什么样的?
主发一串命令然后从回应一串命令吗
如果这样的话,出错可能在主到从,或从返回主,能否知道从机有没有正确收到数据?
另外,从在回复数据前,做延迟for(i=0;i<1500;i++);

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-18
主机和PC用串口调试助手,可以通讯,
从机和PC用串口调试助手,也可以通讯,
----
如果主、从机,和PC通信,都是等待PC先发信息,也能算是通信成功。
如果主、从机之间通信,都是等待对方先发信息,谁也不先说话,那就等去吧。追问

是主机发起的通讯指令,从机应答。

追答

追问:
我试了将主机电路改成232的,通讯成功了,是否是485电路的问题,贴上图,帮忙看看。
----
485,只能“”半双工“”通信,编写程序时,要注意这一点。

第2个回答  2011-07-17
时钟不同步
第3个回答  2011-07-20
这多半是自己一些细节没有注意到,自己再多检查一下,别人没有办法给你详细答案的!
相似回答