我想从上位机接收数据,上位机发送的数据是:16#ff,ib0,16#ee.我从串口调试程序中可以看到发出来的数据是正确的。下位机的程序如下:
main:
ld sm0.1
call sbr_0
ld v201.1
= q0.1
ld v202.1
= q0.3
sbr_0:
ld sm0.1
movb 16#09,smb30
movb 16#b4,smb87
movb 16#ee,smb89
movw 100,smw90
movw 500,smw92
movb 4,smb94
ld sm0.1
atch int_0,23
eni
rcv vb200,0
int_0:
ld sm0.0
rcv vb200,0
ld i0.0
= q1.1
当我用此程序进行接收数据的时候,只是触发了一次接收,不知道为什么。也就是说在运行开始之前,上位机发就开始发送数据,数据中ib0=2#00000010时,q0.3应该亮,而且也亮了,但是因为上位机发的ib0的数据在变化,这时q0.3却仍然保持亮的状态。如果在下位机运行之前,ib0.1如果为0,即使在下位机运行以后,上位机发送的ib0.1为1,q0.3也不亮,请问,我的程序中什么地方有问题?