用LV的串口做的超级终端,还有几个问题,请过路的大大进来看看
思路是这样的(大家可以把源程序下下来看,就会明白些):用VISA serial port里面的控件做一个类似windows自带的超级终端的东东。按下开始键后,等待串口字符,没有字符就处在等待循环,有字符的话送入serial information框显示,并存储在选定的文件里,按停止键退出循环。现在的问题是: 1. 从串口读入的信息在serial information窗口显示时,是一行替换一行,不是像windows的超级终端一样,是一行接着一行往下显示,这是什么原因? 2. 凋试的过程中,有时串口会没用,而且再用windows的超级终端也不能用了,要重启电脑才能用。这个不知道是不是缓存没清空还是怎么的?请路过的兄弟多提意见,大家一起学习。[此贴子已经被作者于2006-10-25 9:57:30编辑过]
不能一行一行显示这个是我们自己处理的,你把这些字符接起来就可以了,不要直接送入!你看我们的学习套件的教程的第2,3,4这几个实验都可以!免费下载的那本教程!你要用其他工具操作串口,首先得把整个LV退出才行,因为它没有退出仍会占用串口的,因为你先前用它控制过串口!我记得以前有朋友上传过类似的程序,是做的串口调试助手的,兄弟你找找看! 原来要退出整个LV,我先前只是将它停止运行了。 呵呵,是的,不然串口占用的! <p>感谢cpubbs兄的提示,上述两个问题都已解决。现将方法写出如下:</p><p>对于不能逐行显示的问题,加入concatenate strings控件,并利用while循环的shift register,这个方法,cpubbs兄所提的教程的实验2的方法里说得很详细了。</p><p>对于串口停止响应的问题,原来是因为我忘记了加入visa close控件。每次使用完串口后,都要用这个东东关闭它,后面才能正常使用。</p> <p>有新的问题了:</p><p>1.当显示信息超过一页时,怎样实现自动滚屏功能?我已经在字符显示框的属性里面勾选了show scroll bar,但还是不行。</p><p>怎样清空shift register?前一次显示的字符,在停止后再次运行时又会显示出来。我以为加了visa close就可以了,但事实证明不行。</p><p>求高手指点。</p> 兄弟到下载区下载另一个例子,是自动将文字显示到最后一行的那个,可以作的,我们有例子,你下载下来就可以看到的,论坛其实你一般要的东西我们都有的!呵呵! 兄弟到下载区下载另一个例子,是自动将文字显示到最后一行的那个,可以作的,我们有例子,你下载下来就可以看到的,论坛其实你一般要的东西我们都有的!呵呵! 在移位寄存器前有一个输入,给它连一个空值就可以解决兄弟你的问题了,你试试,祝你好运! 怎么这几天上论坛这么慢啊,而且还不能发表新话题,说是数据有非法字符或是没有登录,我可都是先登录进去的啊,然后又自动将我退出来,只好再次登录,登录后还是如此.是论坛有问题还是我的电脑有问题啊,上其他论坛或打开其他网页都很快啊. <p>cpubbs兄,多谢你这么快就回复了。</p><p>其实我发问之前在论坛搜索过,结果什么都没找到。可能是用的关键词不对,我再找找看。</p><p>但是今天的下载页面一直找不开,不知道是怎么回事?</p><p>清空寄存器的方法,我之前也是用输入一个空字符串,结果变成只能显示一行,而且一闪而过。看来还是有什么地方不对头。</p> 点击论坛菜单里面有一个下载,不过它会弹出一个公告,不知道是不是你禁止弹出了呢?不过也不应该打不开的,呵呵,我试过了,可以的! 那个空字符串口是一个双引号的图标的,不是空格呀,呵呵! 另外,你最好在运行前给这个字符显示框也同时赋一个空值清空一下! 以下是引用cpubbs在2006-10-25 18:18:06的发言:另外,你最好在运行前给这个字符显示框也同时赋一个空值清空一下! 这个是非常必要的,cpubbs的意见很对。所做的程序在启动前都需要初始化。
页:
[1]
2