VB的MSCOMM控件实现与单片机串口通信,怎么知道发送的是地址还是数据 也就是怎么控制单片机接受到的数据中的RB8.TB8位是1还是0
mscomm1.setting="9600,M,8,1" 地址
mscomm1.setting="9600,S,8,1" 数据
mscomm1.setting="9600,M,8,1" 地址
mscomm1.setting="9600,S,8,1" 数据
解决方案 »
- 请问这样的 typedef struct中VB中怎么定义?
- ChenXL(chen8013)进来!
- 想把当前窗口的内容通过打印机打印出来,该怎么做
- 还是有关排序的问题。。。。。。。
- sqlserver2k中NorthWind库categories表里的picture字段用什么控件绑定?
- vb中adodb连接excel时给单元格为Null的设置值错误
- 请问如何将数据库中的数据付给我自定义的变量
- 这样一段代码为什么不行???请各位朋友帮忙
- 将excel数据导入到vb的问题
- 如何在vb中运行有参数的存储过程?
- Winsock编程中,如何能发送16进制82
- 谁有Visual Basic 6.0 Win32 API程序 作者:刘炳文,李凤华编著 这本书。比较老的书了,到处都找不到
space=0
楼主知道了还问?
Public Function TongXin(i As Integer)
Dim c$
Dim ID As String
k = DataGrid1.VisibleRows - 1
ID = Str(i)
MSComm1.Settings = " 9600,M,8,1 " '设置地址帧
MSComm1.Output = ID '发送单片机地址
Delay (1)
If (fla(i)) Then
MSComm1.Settings = " 9600,S,8,1 " '接受单片机的数据 有必要设置吗?
Call DataReceive1
For j = 0 To k Step 1 查表datagrid1
..............
Next
MSComm1.Settings = " 9600,S,8,1 " '给单片机发送数据
Call DataSend
Else
If (fla(i) = False) Then
MSComm1.Settings = " 9600,S,8,1 " '接受单片机的数据 有必要设置吗?
Call DataReceive2
For j = 0 To k Step 1
................ 查表
Next
End If
End If
Timer1.Enabled = True
End Function
我想确定一下 这里的M,S 是不是就是单片机收到数据中的RB8,TB8位 还有就是vb接受数据还有必要设置MSComm1.Settings = " 9600,S,8,1 "
论坛上有人说要更改Mscomm属性时,应先开端口 再关 即:
SCOMM1.PORTOPEN=FALSE
mscomm1.setting="9600,e,8,1"
MSCOMM1.PORTOPEN=TRUE
MSCOMM1.PORTOPEN=FALSE
mscomm1.setting="9600,O,8,1"
MSCOMM1.PORTOPEN=TRUE
有必要吗? 先谢谢各位了
不过我们一般不用两种通信协议还有一件事情你要确定单片机以RB8还是以TB8返回数据
才能确定