sevenlight_x 发表于 2008-4-7 16:25:12

[求助]VISA设置I/O缓冲区大小

“VISA设置I/O缓冲区大小”默认状态是4K,以前通过串口从硬件获取数据一直都小于4K,所以一直没有什么问题。最近做的一个东西,硬件系统通过串口传送给计算机32K数据,在ni.com查找过其最大允许64K,设置了33K(设置参数应比实际传送回来略大),但是通过“VISA读取”读取时,还是按照一次4K读,波形图上一次显示32K数据的1/8,现在想把32K数据一次性读回到计算机上并显示到波形图上,应该怎么办?希望高手不吝赐教,不胜感激!:handshake

lgh269 发表于 2008-4-7 22:13:23

给个中文帮助看看

sevenlight_x 发表于 2008-4-8 09:38:24

这个也看过了,那估计是我的不支持吧,看来还得想别的办法了

sevenlight_x 发表于 2008-4-8 09:53:23

谢谢剑情浪子了,如果不能直接读32K数据的话,有什么比较好的方法可以把每次读入的4K先预存起来,存够8次32K数据,一次显示呢?采样是连续的,也就是说不停的循环存够32K显示一次,求个比较稳定的方法,我现在是用Byte at Port这个属性控件来控制,设置其大于30K时,显示一次,但是老是不稳定,好比有时候传回28K或者更少的时候,程序就卡着不动了,需要人工手动再次触发采样,太麻烦,更不符合要求,郁闷

cpubbs 发表于 2008-4-15 17:58:53

是不是那个终止符的原因呢?精华列表贴中也有收录,如果是它的话,一旦收到这个字符,它就会停止的,您看看精华贴中关于串口收到的少了的原因!

多次接收到的数据,可以将它们连接起来就可以了!

sevenlight_x 发表于 2008-4-15 19:33:10

看过精华里边的了,不是终止符的原因,加了和不加的效果一样,经常是没收完就卡住了,偶尔有收够完整显示的时候
页: [1]
查看完整版本: [求助]VISA设置I/O缓冲区大小