用vb.net的serialport发二进制码 比如01010110这样的,变量类型是什么,求完整代码

就是我要做个pc给单片机传指令,单片机每个寄存器能存一位,表示高低电平,所以要发
0101这样的二进制位码。网上找了些感觉好像都是把字符串改成二进制的数值,但是本质没变。我需要一次发8位。

这个问题没必要发字符串,建议你发字节数组,
一个字节八位,其实和汇编是十分吻合的,另外发送字节数组效率还高!追问

就是要发字节数组,但是那个原理不是很清楚,vb.net里的字节数组和别的一样吗。
我试了个这个
Dim send_(8) As Byte
send_(0) = 0
send_(0) = 1
send_(0) = 0
send_(0) = 0
send_(0) = 0
send_(0) = 1
send_(0) = 0
send_(0) = 0

SerialPort1.Write(send_, 0, 8)
那单片机分别接收到的就是01000100这8位吗?

追答

Dim send_(8) As Byte
send_(0) = 0
send_(1) = 1
send_(2) = 0
send_(3) = 0
send_(4) = 0
send_(5) = 1
send_(6) = 0
send_(7) = 0
这样是可以的,在单片那边把读取的数据也放到一个字节里面就行了;读的时候你可以监视一下,看看结果,别把顺序搞电脑了,

另外建议你发送16进制,因为这个还比较通用,一位16进制的数可以用4个二进制的标示;

完整代码是没有,也不建议给你

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜