VB通讯中,如何向下位机发送两个字节以上的数据?要一次性发送,并由下位机接收到同样的数值,请求串口通
请求串口通讯高手帮忙!一个或两个字节是可以有PC机一次性发送,并使下位机收到同样的数据,但发送两字节以上的数字,比如511(十进制),就好像不行了,怎么办啊?...
请求串口通讯高手帮忙!一个或两个字节是可以有PC机一次性发送,并使下位机收到同样的数据,但发送两字节以上的数字,比如511(十进制),就好像不行了,怎么办啊?
展开
展开全部
任何数据都可以的,问题在于 你如何发,接收后如何处理?
比如,你可以发送字符串“511”,接收后把他转换为数字 511!
当然,你也可以发送2字节数据 01和ff(511的十六进制数是1ff),vb里发送byte数组很方便的,处理好数组Data_output后,语句 mscomm1.output=Data_output就可以了
推荐 看书
Visual_Basic与_RS-232_串行通信控制
比如,你可以发送字符串“511”,接收后把他转换为数字 511!
当然,你也可以发送2字节数据 01和ff(511的十六进制数是1ff),vb里发送byte数组很方便的,处理好数组Data_output后,语句 mscomm1.output=Data_output就可以了
推荐 看书
Visual_Basic与_RS-232_串行通信控制
追问
谢谢萍水e相逢的回答,你说的应该是对的。第一种方法字符串转换成数字是很难的,C中不好处理字符串;第二种方法直接发送2字节的数据是没问题的,下位机SBUF可以直接一次性读取2字节,但超过2字节就不行了,只读到最后两字节。我之前就为此郁闷了很久,不过现在问题解决了。
可是又遇到新的问题了:在UV2中设置串口时,将SCON中的REN与SM0(SM1)的位置换下,SBUF读到的第一个字节就不同了!不知是软件问题还是什么问题我没搞懂的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询