完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
最近在学习labview串口,按照http://jingyan.baidu.com/album/1 ... 467.html?picindex=5这个做了下,发现使用串口助手发送给LABVIEW的时候接受不到,后来在程序中使用高亮显示,发现接收区收到了,但是显示了下又消失了,请问这是怎么回事?
|
|
相关推荐
17个回答
|
|
|
将程序与虚拟串口软件上传了
|
|
|
|
|
|
使用的是HELLODSP的串口调试助手
|
|
|
|
|
|
|
|
|
|
|
|
bytes at port的输出口加个判断,大于零时才读取显示即可。因为每次循环缓冲区数值为零时同样进行读取操作,只是无数值。
|
|
|
|
|
|
4楼正解,百度经验的这个经验不足啊。
第一、百度经验中的图显示串口接收的块后面直接连上了“接收区”的字符串,实际上你需要加一个条件结构,判断接收到的数据是否为空字符串,如果是,则不做任何操作,否则显示当前接收到的字符串。 第二、程序的主While循环中没有延时,建议在While循环中加入一个延时的程序,不然一运行起来就连续不断的读,能读多块读多快,这样太占用计算机资源。 第三、需要增加串口通讯出错时关闭串口的程序,不然出错以后就需要停止程序,很不科学。
|
|
|
|
|
guanyujiangnan 发表于 2017-1-16 16:23 个人认为,如果对串口字节数进行判断出现0的情况,就没必要读串口了。即,八判断加在读串口都前面。如果是不论串口是否没有数据都进行读取,那就没必要对串口字节数来判断,直接用读取vi的返回数即可。 其次,如果楼主想着一个串口调试软件,最好用active控件用轮询来做。 如果不用轮询,可以考虑对读写使用循环并设置延时:延时时间设置较小即可,如10ms。然后读写串口指定字节数,不断轮询读取。不过要设置合理的循环速度和单次读取的量,保证串口缓冲区的数据不会冗余。 while循环最好加延时,哪怕只有1ms也能减少CPU负荷。否则CPU分分钟100%爆棚。任何循环都应该考虑不对CPU完全占有,当然也有特殊情况。 |
|
|
|
|
|
|
|
|
|
|
|
跟着楼主一起学习了解一下
|
|
|
|
|
|
学习下
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
谢谢各位大神,学习下!
|
|
|
|
|
guanyujiangnan 发表于 2017-1-16 16:23 能发一个完整的串口程序吗,我学习下。 |
|
|
|
|
guanyujiangnan 发表于 2017-1-16 16:23 比如接收区清空,串口的打开与关闭这些功能。 |
|
|
|
|
|
可以去我之前的发帖里找到串口助手小软件用用
|
|
|
|
|
|
跟着楼主一起学习了解一下
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
211 浏览 0 评论
请教大神,在labview里面对实时扫描资源中的C系列模块NI9234进行配置发生非预期错误
1709 浏览 0 评论
1585 浏览 0 评论
LABVIEW 2023 Q1调用python后一直报错1671
1960 浏览 2 评论
5207 浏览 3 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 10:09 , Processed in 1.445596 second(s), Total 111, Slave 90 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
8923