Newer- 写:
情况是 这样的 本人通过单片机向串口发送了2个字节的数据 虚拟仪器通过VISA向串口也接收到了这2个字节 并以16进制字符串显示出来了 问题就在这了 我要怎么才能调用这2个字节 因为我想对这2个字节进行处理 因为这2个字节是我需要的一个数据 他只能显示我还不能处理 (VISA串口 的字符串是什么类型的 是ASCII 还是16进制或是10进制的?)
这个不取决于VISA,是由单片机决定的。比如你发送字节1,如果直接发送1,则是字节通讯方式,如果发送的是1的ASCII方式,则是字符串通讯方式。
VISA接收时也是如此,如果直接发送1,则接收的HEX方式就是1.如果发送的是ASCII方式的1,则接收的实际是HEX 31,用ASCII方式显示就是1。
本质上说,COM通讯就是字节通讯方式,至于是否是ASCII,就是解析数据的问题。
你发送的应该是字节方式,接收在HEX方式下显示正常,自然ASCII方式显示可能是乱码。如果需要直接转换成数字,可以使用强制转换函数或者平化字符串函数。如果需要转换成字符串(正常显示),可以使用字符串转换函数。