微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > 求助大神,关于接受串口数据出现的多个问题

求助大神,关于接受串口数据出现的多个问题

时间:10-02 整理:3721RD 点击:
用PL-2303USB-to Serial做的一个单片机的数据接收,10ms要传24个字节,波特率9600,奇校验,用的是labview范例改的程序,程序很简单,但实际操作中遇到了问题,弄了好几天也没有解决。
下面进行描述,求大神指导。
若是先运行程序再连接串口并对板子上电,出现奇偶校验错误,如图1.
停止后再运行,出现发生帧错误,如图2.
停止后再运行,或者先连接串口发送数据在运行程序,则读不出数据,若不用属性节点则显示超时,如图3.
程序很简单,如图4.
看了一些帖子,比如在VISA配置串口后加入延时和清空IO缓冲区也没有效果。
看看大家有什么思路,万分感谢。
另外,用串口助手读串口的数据有时会读不出来,有时候没有问题。用VI程序读串口助手的数据没有问题,用VI程序读另一块数据发送较慢板子发的数据也没有问题。
个人比较倾向是数据量比较大,缓存满了,导致出现问题。但是怎么也解决不了,非常郁闷。
再次谢谢大家指导。





校验的问题解决了,是板子没设好,但其他问题依然还在。
另外调试过程老是出现串口读不到数据,以至于超时。用MAX测试也一样,能确定是板子的问题吗?

你尝试一下加大延时试试

加油,虽然我也不太会,但是,你要加油,爱你么么哒。

串口被占用,多个程序竞争使用串口,关掉其他程序试一试。

我之前的延时就是很大的,怕超限影响才变小的

今天又测了一下,先用MAX读的,都读出来了,关掉MAX,打开vi。把程序的循环去掉,读取字节数改为1024,也读出来了几次。
但是!但是!
大约过了一分钟后再运行程序,由出现了读取超时,再用MAX读也不行。
有没有可能是VI程序自己没有关闭串口。
请赐教!
谢谢回复!

为了确保每次串口都关闭,我还在程序前面顺序结构加了关闭VISA,可还是运行的前几次可以,后面就显示读取超时。


http://bbs.elecfans.com/forum.ph ... d=583949&extra=

适当删减修改对你的程序就可用

多谢指教!

我试试看!

请问这里的移位寄存器是起什么作用

读取的过于频繁,所以读空了!

这里不用寄存器,我忘改过来了,sorry

超时设置的是10s,大约3ms就会发送8byte,不应该会超时跳出的啊

超时设置的是10s,大约3ms就会发送8byte,不应该会超时跳出的啊             你确定?那边连续发送?

是的,用串口助手可读出,数据刷刷的

串口设置时请将“启用终止符”使能端设置为F,看看。

问题解决了,原因出在PL-2303USB-to Serial
可能是因为和系统有兼容上的问题,换成CH340之后能读到数据了
但是数据经常乱码,又降低了数据的传输速度才好些
串口果然不稳定啊
多谢大家帮助

学习了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

学习了                                 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top