PB串口通讯问题

时间:2023-01-25 17:56:25
使用mscomm控件,串口通讯读取ic 卡号,厂家有VB程序 

Dim send_data(1 To 8) As Byte 
send_data(1) = &HAA 
send_data(2) = &HAA 
send_data(3) = &H0 
send_data(4) = &H5 
send_data(5) = &H87 
send_data(6) = &H0 
send_data(7) = &H6C 
send_data(8) = &HF 
MSComm1.Output = send_data 

用PB改写,发送十六进制数据,发送数据不正确,请问高手如何改写?

6 个解决方案

#1


用PB如何发送十六进制数据啊?

#2


char lc_senddata[8]
lc_senddata[1] = '~HAA'
lc_senddata[2] = '~HAA'
//lc_senddata[3] = '~HAA'
lc_senddata[4] = '~H05'
lc_senddata[5] = '~H87'
//lc_senddata[6] = '~HAA'
lc_senddata[7] = '~H6c'
lc_senddata[8] = '~H0f'
MSComm1.Output = lc_senddata  

试一下

#3


用blob
blob lb_senddata
mscomm1.output=lb_senddata

#4


2搂的char方法我没有试过,给你贴个我做过的成功的代码。
blob send_data []

send_data[1] = blob('~hAA')
send_data[2] = blob('~hAA')  
send_data[3] = blob('~h00')
send_data[4] = blob('~h05')
send_data[5] = blob('~h87')
send_data[6] = blob('~h00')
send_data[7] = blob('~h6C')
send_data[8] = blob('~h0F')

MSComm1.Output = send_data

如果上面的代码还是不行,我觉的问题可能出现的和我当时遇到的情况一样,就是对16进制0的处理,通过mscomm控件向串口发送数据时会忽略00位上的数据,导致发送过去的值为空。如果不是这样的话,算我多说了。

#5


接分先!

#6


blob('~hAA')
pb上没有这样的写法吧

#1


用PB如何发送十六进制数据啊?

#2


char lc_senddata[8]
lc_senddata[1] = '~HAA'
lc_senddata[2] = '~HAA'
//lc_senddata[3] = '~HAA'
lc_senddata[4] = '~H05'
lc_senddata[5] = '~H87'
//lc_senddata[6] = '~HAA'
lc_senddata[7] = '~H6c'
lc_senddata[8] = '~H0f'
MSComm1.Output = lc_senddata  

试一下

#3


用blob
blob lb_senddata
mscomm1.output=lb_senddata

#4


2搂的char方法我没有试过,给你贴个我做过的成功的代码。
blob send_data []

send_data[1] = blob('~hAA')
send_data[2] = blob('~hAA')  
send_data[3] = blob('~h00')
send_data[4] = blob('~h05')
send_data[5] = blob('~h87')
send_data[6] = blob('~h00')
send_data[7] = blob('~h6C')
send_data[8] = blob('~h0F')

MSComm1.Output = send_data

如果上面的代码还是不行,我觉的问题可能出现的和我当时遇到的情况一样,就是对16进制0的处理,通过mscomm控件向串口发送数据时会忽略00位上的数据,导致发送过去的值为空。如果不是这样的话,算我多说了。

#5


接分先!

#6


blob('~hAA')
pb上没有这样的写法吧