如何在VB中实现串口的数据传输啊?
我在用MSFLEXGRID接收设备传输的数据,请问如何把数据显示在MSFLEXGRID列表中啊?还有,当对数据修改时又怎么让和计算机连接的设备响应修改的数据呢?
[解决办法]
使用MSCOMM控件通过串口接收设备传输的数据及发送命令给下位机.使用ADO数据对象或ADO数据控件将串口接收的数据保存于数据库,使用SQL结构化查询语句配合DATAGRID控件或MSHFLEXGRID控件显示数据.
http://community.csdn.net/Expert/topic/5382/5382437.xml?temp=.3019373
http://community.csdn.net/Expert/topic/5366/5366904.xml?temp=9.821719E-02
http://community.csdn.net/Expert/topic/5383/5383313.xml?temp=7.020205E-02
详细的串口应用可参阅本人在上述网址的答贴.
[解决办法]
MSComm控件是进行串口和外部串口通信的最简单有效的方法.
MSComm.Output = sendData '发送数据
receiveData = MSComm.Input '接受数据
至于发送之前如何处理sendData,以及接收以后receiveData如何保存到数据库及显示在MSFlexGrid网格控件中,则是需要数据库相关内容了.
MSDN中说得比较详细哦,楼主好好看看,实在搞不懂再问吧.
对了,给点分撒...最近吃紧...
[解决办法]
把接收到MSCOMM的数据存入表中,用SQL语句查询后,把MSFLEXGRID的数据源设为查询的结果
[解决办法]
你可以用mf2 为MSFLEXGRID控件名
Private Sub MSComm1_OnComm()
Dim av() As Byte
Dim receiveddata As Integer
On Error Resume Next
With MSComm1
.InputLen = 1
Select Case .CommEvent '判断MSComm1通讯事件
Case comEvReceive '收到Rthreshold个字节产生的接收事件
av = .Input '读数据首字节
receiveddata = av(0)
end select
mF2.Rows = iRow2 + 1 '设置行大小变化
'自动列表
mF2.Col = 0
mF2.Row = iRow2
mF2.Text = iRow2
mF2.Col = 2
mF2.Row = iRow2
mF2.Text = receivedData 'receiveData为从串口读出的数据
iRow2 = iRow2 + 1
mF2.TopRow = mF2.Rows - 30 '显示顶部代码
end with
注意我这里用的是 二进制接受发送
关于串口接受发送二进制和字符串是不同的可以搜索一下也可以问我
mytoday2004@163.com
发送控制命令只要mscomm1.output就行了搜索一下把
我有事先走了