我在初始化子程序中对RCV指令进行了这样的初始化
LD SM0.1
MOVB 16#EC, SMB87
MOVB 16#67, SMB88
MOVB 16#47, SMB89
MOVW +1000, SMW92
即用起始字符来识别信息开始,以超时来中止接收,请问这样可以吗?
如果我再连接接收完成中断,在中断中置位一标志位M0.0。主程序中写
M0.0满足时,在将接收到的信息发送出去。这样可以吗?
具体程序能能再帮我看看吗?
main
NETWORK 1 //NETWORK TITLE (single line)
//
//NETWORK COMMENTS
//
LD SM0.1
CALL SBR_0
NETWORK 2
LDB= VB101, 5
u M0.0
CALL SBR_1
NETWORK 3
LD SM4.5
RCV VB99, 0
$$ SBR_0
NETWORK 1 //NETWORK TITLE (single line)
//
//NETWORK COMMENTS
//
LD SM0.1
MOVB 9, SMB30
NETWORK 2
LD SM0.1
MOVB 16#EC, SMB87
MOVB 16#67, SMB88
MOVB 16#47, SMB89
MOVW +1000, SMW92
NETWORK 3
LD SM0.1
ATCH INT_1, 9
ATCH INT_0, 23
NETWORK 4
LD SM0.1
ENI
$$ SBR_1
NETWORK 1 //NETWORK TITLE (single line)
//
//NETWORK COMMENTS
//
LD SM0.0
R SM87.7, 1
RCV VB99, 0
NETWORK 2
LD SM0.0
XMT VB99, 0
$$ INT_0
NETWORK 1 //NETWORK TITLE (single line)
//
//NETWORK COMMENTS
//
LD SM0.0
S M0.0, 1
$$ INT_1
NETWORK 1 //NETWORK TITLE (single line)
//
//NETWORK COMMENTS
//
LD SM0.0
S SM87.7, 1
MOVB 0, VB104
同一时间只能执行一条RCV或XMT指令,可是怎么才能保证呢?还望您不吝赐教!
感激不尽!!