1,451
社区成员
发帖
与我相关
我的任务
分享
SendBufToPort("DRM-RICM0903A",13);
//============================ 发送数据给串口 ============================
void SendToPort(unsigned char Buf)
{
SBUF = Buf;
while(TI==0);
TI=0;
delay(45);
}
//============================ 发送数据给串口 ============================
void SendBufToPort(unsigned char Buf[],unsigned char Num)
{
unsigned char j;
for(j=0;j<Num;j++)
{
SendToPort(Buf[j]);
}
}
Static d(100) as byte
Static Count as long
dim ...
If MSComm1.CommEvent = 2 Then
'count = MSComm1.InBufferCount 不要'
'MSComm1.InputLen = 10 不要'
Buffer = MSComm1.Input
MSComm1.InBufferCount = 0
For i = LBound(Buffer) To UBound(Buffer)
d(count) = Buffer(i)
count = count + 1
Next i
while Count >=10
c = c+1
'处理前10个数据'
'将 d(10) 开始的数据前移到 d(0) 处'
count = count - 10
wend
Option Explicit
Dim strData As String
Dim Lreceive As Integer
Dim sum As Integer
Private Sub Form_Load()
MSComm1.InputLen = 0
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputMode = comInputModeBinary
MSComm1.RThreshold = 1
MSComm1.PortOpen = True
End Sub
Private Sub MSComm1_OnComm()
On Error Resume Next
Dim Buffer As Variant
Dim i As Integer
Select Case MSComm1.CommEvent
Case 2
sum = sum + 1
Text1 = "OnComm次数" & sum
Lreceive = MSComm1.InBufferCount
Text2 = "Input前缓冲区字节数=" & Lreceive
Buffer = MSComm1.Input
Lreceive = MSComm1.InBufferCount
Text3 = "Input后缓冲区字节数=" & Lreceive
For i = LBound(Buffer) To UBound(Buffer)
strData = strData & Right("0" & Hex(Buffer(i)), 2)
Next i
'Text1 = strData
Text4 = "已接收字节数=" & Len(strData) / 2
Text5 = "接收字节数/OnComm次=" & (Len(strData) / 2) / sum
End Select
End Sub