不用OnComm事件,怎样才能一个一个的读取串口发回得数据? 用OnComm事件,怎样才能一个一个的读取串口发回得数据?另外,vb里有没有delay(N毫秒)这样的函数?(sleep 不行,程序的运行不可停止) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果要高精度计时器用API函数QueryPerformanceFrequency和QueryPerformanceCounter for i=0 to 1000000000next i'程序的运行停止 好像你并不需要那么精确吧,那么用API:GetTickCount 用起来也很简单 忘了举例子Private Declare Function GetTickCount& Lib "kernel32" ()Private Sub Form_Load() ret& = GetTickCount& MsgBox Str$(ret& / 60000) + " minutes."End Sub 只是comm读数据我没做过,抄一段代码:Private Sub MSComm1_OnComm() Dim arrReceive(10) As Byte Dim lngData As Variant '用来从接收缓冲区读取数据 On Error Resume Next With MSComm1 Select Case MSComm1.CommEvent Case comEvReceive RThreshold = 0 '关闭OnComm事件接收 lngData = .Input '读取一个接收字节 arrReceive(0) = lngData(0) lngData = .Input arrReceive(1) = lngData(0) lngData = .Input arrReceive(2) = lngData(0) lngData = .Input arrReceive(3) = lngData(0) lngData = .Input arrReceive(4) = lngData(0) lngData = .Input arrReceive(5) = lngData(0) lngData = .Input arrReceive(6) = lngData(0) lngData = .Input arrReceive(7) = lngData(0) If strFlag = "1" Then lngData = .Input arrReceive(8) = lngData(0) lngData = .Input arrReceive(9) = lngData(0) End If End Select End With End Sub 关于串口通信 本人初次接触串口通信的东西 解释下每一行.我没学过 SQL导出EXCEL,,但是打开EXCEL时会同时出现好几个新的\空的工作薄,不知道是怎么回事?如何解决?谢谢! 向高手求救,怎么修改ACCESS数据库中的图片啊? 请问如何把任务栏中没有显示的程序让他复原 如何使得MSFLEXGRID控件中的文字都左对齐! 翻译 求教! 二进制数据存储问题! 高手门快来帮帮忙啊? connectstring中的filename怎么设置? 二进制读取文件的相关问题 treeview中如何获取当前点击的节点的text值?? 谁有检测二台电脑之间网络是否正常连接的方法?
API函数QueryPerformanceFrequency和QueryPerformanceCounter
next i
'程序的运行停止
Private Declare Function GetTickCount& Lib "kernel32" ()
Private Sub Form_Load()
ret& = GetTickCount&
MsgBox Str$(ret& / 60000) + " minutes."
End Sub
Private Sub MSComm1_OnComm()
Dim arrReceive(10) As Byte
Dim lngData As Variant '用来从接收缓冲区读取数据
On Error Resume Next
With MSComm1
Select Case MSComm1.CommEvent
Case comEvReceive
RThreshold = 0 '关闭OnComm事件接收
lngData = .Input '读取一个接收字节
arrReceive(0) = lngData(0)
lngData = .Input
arrReceive(1) = lngData(0)
lngData = .Input
arrReceive(2) = lngData(0)
lngData = .Input
arrReceive(3) = lngData(0)
lngData = .Input
arrReceive(4) = lngData(0)
lngData = .Input
arrReceive(5) = lngData(0)
lngData = .Input
arrReceive(6) = lngData(0)
lngData = .Input
arrReceive(7) = lngData(0)
If strFlag = "1" Then
lngData = .Input
arrReceive(8) = lngData(0)
lngData = .Input
arrReceive(9) = lngData(0)
End If
End Select
End With
End Sub