labvIEW串口通信中数据格式的问题
时间:10-02
整理:3721RD
点击:
串口通信中传递的是ascII码的数据。但是我现在想上下位机协议都是简单的数值。
比如我需要发数值1给他,实际发的应该是ascII码的1,对应的也就是个标题头。
这样下位机接收到的就是0x01了。不用再做ascII转16进制。
这么个思路,要怎么实现呢?
如果用labvIEW里的字符串输入控件,把显示格式改为16进制显示,这样是可以的。
但是,用户输入的数据就变成16进制了。
用数值输入的话,这样又不知道怎么转成对应的字符串,用labvIEW里的数值转字符串函数,都会把1转成31,但我要的是1转成1.。
各位高人,请指导。
比如我需要发数值1给他,实际发的应该是ascII码的1,对应的也就是个标题头。
这样下位机接收到的就是0x01了。不用再做ascII转16进制。
这么个思路,要怎么实现呢?
如果用labvIEW里的字符串输入控件,把显示格式改为16进制显示,这样是可以的。
但是,用户输入的数据就变成16进制了。
用数值输入的话,这样又不知道怎么转成对应的字符串,用labvIEW里的数值转字符串函数,都会把1转成31,但我要的是1转成1.。
各位高人,请指导。
直接用数值控件不就行了,1就是1.哪个要你用字符串控件。笨死了。
tongqiu....
需要数值计算吧,1的16位ACS码是30,那需要相应计算使ACS码是
1,读取需要相应翻转,较麻烦的
最近我用TCP通讯也是这种情况 同求解决办法
大哥 串口通信只能接受字符串数据格式 如果可以直接接受实数就不会有这个问题了
http://bbs.elecfans.com/forum.ph ... ;pre_pos=6&ext=
这个可以解决 刚刚发现
多谢,正在寻求解决方法,看来可以解决。U8数组
labview中有一个数值型与字符型转换的节点。