主题:QB串口问题请各位老师帮忙
我用QB的中断调用功能做别的编程好用,但串行口通讯不好用,用OPEN 语句也不好用,仔细检查程序编写发现不出问题,请各位老师指正。简单串口接收程序如下:
'c:\comn\INT.BI 的内容如下:
DEFINT A-Z
DECLARE SUB int86xold (intnumber%, inarray%(), outarray%())
DIM SHARED inarray(7) AS INTEGER
DIM SHARED outarray(7) AS INTEGER
CONST AX = 0, BX = 1, CX = 2, DX = 3
CONST BP = 4, SI = 5, DI = 6, FLAGS = 7
串行口接收程序COM.BAS如下:
'$INCLUDE: 'c:\comn\INT.BI'
SCREEN 0: CLS
inarray(DX) = 0
inarray(AX) = &H83 'COM1,1200,N,8,1
int86xold &H14, inarray(), outarray()
PRINT outarray(AX) '显示通讯口状态
DO
inarray(DX) = 0
inarray(AX) = &H200 '从串行口读
int86xold &H14, inarray(), outarray()
PRINT outarray(AX), '显示返回的数据
key$ = INKEY$
LOOP UNTIL key$ = CHR$(27)
END
'c:\comn\INT.BI 的内容如下:
DEFINT A-Z
DECLARE SUB int86xold (intnumber%, inarray%(), outarray%())
DIM SHARED inarray(7) AS INTEGER
DIM SHARED outarray(7) AS INTEGER
CONST AX = 0, BX = 1, CX = 2, DX = 3
CONST BP = 4, SI = 5, DI = 6, FLAGS = 7
串行口接收程序COM.BAS如下:
'$INCLUDE: 'c:\comn\INT.BI'
SCREEN 0: CLS
inarray(DX) = 0
inarray(AX) = &H83 'COM1,1200,N,8,1
int86xold &H14, inarray(), outarray()
PRINT outarray(AX) '显示通讯口状态
DO
inarray(DX) = 0
inarray(AX) = &H200 '从串行口读
int86xold &H14, inarray(), outarray()
PRINT outarray(AX), '显示返回的数据
key$ = INKEY$
LOOP UNTIL key$ = CHR$(27)
END