发布于 2011-10-11 19:04:41
9楼
请问翼飞凌,是不是必须要有时间中断?我试了下,SMB87=9C 不行,问题出在中断吗?我用SSCOM串口软件监测结果如下:
发送:01 04 00 00 00 04 F1 C9
返回:01 04 08 06 52 00 00 00 00 00 00 D7 E2
应该是结果没有问题
修改后的程序如下:
ORGANIZATION_BLOCK 主程序:OB1
TITLE=程序注释
BEGIN
Network 1
LD SM0.1
CALL SBR0
END_ORGANIZATION_BLOCK
SUBROUTINE_BLOCK SBR_0:SBR0
TITLE=子程序注释
BEGIN
Network 1
LD SM0.0
MOVB 16#09, SMB30
MOVB 16#9C, SMB87
MOVB 100, SMB94
MOVW 80, SMW92
MOVW 0, SMW90
MOVB 200, SMB34
ATCH INT1, 10
ATCH INT0, 9
Network 2 // 网络标题
// 网络注释
END_SUBROUTINE_BLOCK
INTERRUPT_BLOCK INT_0:INT0
TITLE=中断程序注释
BEGIN
Network 1 // 网络标题
LD SM0.0
RCV VB200, 0
MOVB 200, SMB34
ATCH INT1, 10
Network 2 // 网络标题
// 网络注释
END_INTERRUPT_BLOCK
INTERRUPT_BLOCK INT_1:INT1
TITLE=中断程序注释
BEGIN
Network 1
LD SM0.0
DTCH 10
Network 2
LD SM0.0
MOVB 8, VB100
MOVB 16#1, VB101
MOVB 16#04, VB102
MOVB 16#0, VB103
MOVB 16#0, VB104
MOVB 16#0, VB105
MOVB 16#04, VB106
MOVB 16#F1, VB107
MOVB 16#C9, VB108
XMT VB100, 0
Network 3 // 网络标题
// 网络注释
END_INTERRUPT_BLOCK