1062426353 发表于 2011-6-13 15:36:06

LabVIEW串口接收数据的问题

我现在在做一个电压信号检测方面的问题,请教各位大虾,怎样将DSP采集到的实时电压信息发送给LABVIEW。我用的是LV的串口通信。可是串口读写的数据都是以字符串表示的。我怎么能将串口接收到的负电压的信息从字符串转换出来了。比如DSP发了-5V的一个数据点,通过串口传给LV,LV从串口接收的是字符串,我怎么把字符串再转成-5V值。急啊,谢谢呢

wdyjz 发表于 2011-6-14 11:21:43

DSP 采集到的原码传上去,再解析就可以了。
你也可以直接传计算好的数据 -5;比如: MOV SBUF,‘-5’

1062426353 发表于 2011-6-14 21:26:50

wdyjz 发表于 2011-6-14 11:21 static/image/common/back.gif
DSP 采集到的原码传上去,再解析就可以了。
你也可以直接传计算好的数据 -5;比如: MOV SBUF,‘-5’

首先谢谢你,没想到你这么快就回复了。对的,我是直接将“-5”通过通过DSP传给LABVIEW的,但是labview串口出来的数据不是只能是字符串类型吗?之后我就不知道怎么再把字符串转回我下位机发上来的数值“-5”了。我就是想知道怎么转回来。{:soso_e100:}

axxon 发表于 2011-6-20 17:50:47

把下位机接收到数值再用LABVIEW中的“十进制数字符串至数值转换”转换成数值就可以了啊。

1062426353 发表于 2011-6-25 15:22:14

axxon 发表于 2011-6-20 17:50 static/image/common/back.gif
把下位机接收到数值再用LABVIEW中的“十进制数字符串至数值转换”转换成数值就可以了啊。

{:soso_e100:} 谢谢,这个问题我已经解决了。只不过现在又出现了一个更麻烦的问题。用串口进行数据采集时,老是遇到VISA READ节点超限错误,说在下一个字符到达前未从硬件读出某个字符。不知道这是怎么回事。
我是下位机DSP进行数据采集的。LABVIEW向DSP要一次数据,DSP就发送1029个字节的数据给LABVIEW。然后由LABVIEW 进行处理显示完以后继续向DSP 要1029个数据,一直循环。VISA READ 的读取字节数我设的是1029字节。可是不知道为什么每次都读不到1029个。总是八百,两百,几百的在那里跳,然后就出现上述的错误。我该怎么解决了,你有什么建议吗

hcwz 发表于 2011-6-27 18:55:27

VisaRead如果读不到1029BYTES,它就是会TIMEOUT的,你可以用VISA 的节点属性BYTES At Ports将串口中的数据长度返回给VISAREAD来读取

linzhen 发表于 2015-4-27 15:38:48

1062426353 发表于 2011-6-25 15:22
谢谢,这个问题我已经解决了。只不过现在又出现了一个更麻烦的问题。用串口进行数据采集时 ...

你好,请问你之前DSP将-5发送给labview时是直接用十进制数字符串至数值转换吗?我现在也是遇到这样的问题,在单片机中将-5发给上位机时,总是只有正数,负数就直接显示为0.但是在串口助手调试时可以显示负数,不知道你最后是怎么解决的?想请教一下
页: [1]
查看完整版本: LabVIEW串口接收数据的问题