我使用VB程序做CH372的上位机
下位机已经由同事自己编写一个小程序,用调试小工具可以使用,从端口1发送一个字节数据下去,从端口2接受五个字节上来
我下载了CH372EVT的程序,里面关于端口 没有进行选择,我直接调用端口CH375WriteData读写函数 执行完写返回ture,到读命令CH375ReadData就死了
这个端口需要自己另外去设置吗
Private Sub Command1_Click()
mIndex = 0 '第一个ch375设备
mShowLED = 0
mKeyCode = &HFF
mCaptionInform = " 信息提示 "
mOpen = -1
mOpen = CH375OpenDevice(mIndex) '窗体加载时打开设备
If mOpen = -1 Then
Call pnpproce_KeyUp(CH375_DEVICE_REMOVE, 0) '作设备拔出处理
Exit Sub
Else
Call pnpproce_KeyUp(CH375_DEVICE_ARRIVAL, 0) '作设备插入处理
End If
' 设置USB数据读写的超时,超过3000mS未完成读写将强制返回,避免一直等待下去
CH375SetTimeout mIndex, 3000, 3000
mDemoReq.mCommandCode = DEF_CMD_TEST_DATA ' 测试命令,将PC机发来的所有数据取反后返回
mDemoReq.mCommandCodeNot = &HFF - DEF_CMD_TEST_DATA
mDemoReq.mParameter(0) = &H29 ' 任意的测试数据,返回后将按位取反
mLength = 1 ' 命令包的长度
If (CH375Writedata(mIndex, mDemoReq, mLength)) Then ' 通过CH375发送命令数据,成功
mLength = 5
If (CH375ReadData(mIndex, mDemoReq, mLength)) Then ' 通过CH375接收应答数据,成功
If (mLength = CONST_CMD_LEN) Then
If ((mDemoReq.mCommandCode <> (&HFF - DEF_CMD_TEST_DATA)) Or (mDemoReq.mParameter(0) <> (&HFF - &H5A)) Or (mDemoReq.mParameter(1) <> (&HFF - &H96))) Then
MsgBox "通过USB传输的数据有错误", vbExclamation, mCaptionInform
End If
Else
MsgBox "CH375数据测试返回的长度错误", vbExclamation, mCaptionInform
End If
Else
MsgBox "CH375ReadData 失败", vbExclamation, mCaptionInform
End If
Else
MsgBox "CH375WriteData 失败", vbExclamation, mCaptionInform
End If
End Sub