关于labview 与蓝牙虚拟串口通讯
我用labview中的基本串行写入和读取例程调试虚拟串口,虚拟串口是通过蓝牙适配器与我的蓝牙设备用IVT软件连接的,运行的时候,串口会传输完一次数据后便自动断开,同时显示visa hex 0xBFFF003E 由于I/O错误,将无法执行该操作。不知是何原因。另外我用其他串口调试程序就没有出现自动断开的情况。望各位赐教,谢谢。
学习
貌似论坛也有不少类似串口通讯的问题,不知道普通串口和蓝牙虚拟串口的用法是否一样
对,我也遇到了这个问题,希望大神给予指导。
在串口读写前增加一个VISA缓存设置函数就可以解决问题了,看下下面这个问答你就明白了。
问题: 我试图使用VISA从设备中读或写,但是我不断地得到错误 “Error -1073807298 (Hex 0xBFFF003E) occurred at an unidentified location”。发生了什么?设备在工作吗?
解答:
问题的发生源于VISA写IRP_MJ_FLUSH_BUFFER的请求造成了一个来自设备的INVALID DEVICE REQUEST回应。默认状态下,当通过RS-232通信的时候,每一个VISA读和写操作都会带来一个VISA Flush的调用。您能够通过改变VISA缓存的设置来保证VISA不进行Flush调用的操作,以避免这个错误。
如果您在应用的开始(在VISA打开之后,在读和写之前)调用VISA设置I/O缓存的函数,并且将掩码设置为48(16+32,16为接收缓存的掩码,32为发送缓存的掩码),并将大小设置为4K或您所认为读或写所使用的数据量大小,这样的操作将使VISA不进行Flush的调用。
然而,如果您不使用这个函数,VISA将把写入分为500毫秒的数据块,每次写入都将调用Flush。通过高速VISA您所使用的数据量不会超过4K或您所定义的值,VISA就不会进行Flush的调用。
6666666666666666666666666666666就是这样 蓝牙串口和直接用串口线是有区别的
有没有源代码 学学
1111111111111111111111111111111111
你好 我最近在用labview上位机与单片机实现蓝牙通信,我在加过VISA 设置I/O缓存函数后,上位机未接收到数据,但如果我再把VISA设置I/O缓存函数删除之后,上位机就开始接收数据,这是什么原因呢
你好??我最近在用labview上位机与单片机实现蓝牙通信,我在加过VISA 设置I/O缓存函数后,上位机未接收到数据,但如果我再把VISA设置I/O缓存函数删除之后,上位机就开始接收数据,这是什么原因呢
你好 我找出了我的错误了,我应该把VISA设置I/O缓存函数放在循环结构外,在设置visa串号函数后
你好??我找出了我的错误了,我应该把VISA设置I/O缓存函数放在循环结构外,在设置visa串号函数后
请问你这个I/O接收和传输缓冲区是visa配置串口的哪块设置的?谢谢
这是我的框图,没有数据。为什么啊
谢谢了,我调试出来了,多谢了你的截图