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
试一下
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
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位上的数据,导致发送过去的值为空。如果不是这样的话,算我多说了。
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上没有这样的写法吧
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
试一下
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
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位上的数据,导致发送过去的值为空。如果不是这样的话,算我多说了。
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上没有这样的写法吧
pb上没有这样的写法吧