有一套板子,上位机为mini2440 ,下位机为C51 ,两者通过串口通讯,信号线路间有两块MAX232,通讯方式为一问一答。(我现在想用PC机代替mini2440)
通过监测通信协议,初步认为通讯波特率为19200 (工作在此波特率下,通讯协议里面的数据,与上位机显示的数据一致),上位机有专门的一条指令去检测通信是否正常。当上位机往下位机发通信检测指令时,下位机会回复一条指令,以表示通信正常。
当上位机发出通信检测指令时,我用电脑(USB转串口)模仿下位机,给其回复指令。上位机收到指令后,屏幕显示通信成功(但如果把通信指令的内容修改了,则会显示通信失败);
现在的问题是,我用电脑模仿上位机,往下位机发一给通信检测的指令,然而……却一直没有回复……
目前的状况:
(1)通信线应该没有问题,Rxd,Txd都对换过,无果;
(2)使用串口软件时,数据位(7,8),停止位(1,1.5,2)都试过;或者把需发送的数据空格都取消;也尝试用ASC、HEX的方式发送指令,无果;
(3) 下位机的板子,换了另外一块测试,也是无回复;但是他们跟上位机(mini2440)的通信却又是正常的;
(4)通过监测PC往下位机发的指令,内容与上位机发给下位的指令是一致;
盼大神解答。 |