|
<><FONT color=#1a1ae6 size=4 face=楷体_GB2312> <FONT color=#421ae6 size=5>串口程序初步详解</FONT></FONT></P><P><FONT color=#1a1ae6 size=4 face=楷体_GB2312> 在第一篇中,我已经给大家介绍了labview的用途,主要是用于虚拟仪器,数据采集和控制。labview的安装,破解以及其驱动的安装,其中大家可能会遇到点麻烦,如果电脑技术可以的话,很轻松的就能解决,不过在网上也能搜到解决办法。还有就是介绍两个资料,这是基础,如果不知道的话,下面很难进行。</FONT></P><P><FONT color=#1a1ae6 size=4 face=楷体_GB2312> 建议你们把那个PPT里面的小练习做一下,可以很快的熟悉labview。同时labview目录下的帮助文档也写得非常好,</FONT><FONT color=#1a1ae6 size=4 face=楷体_GB2312>在\National Instruments\LabVIEW 8.5\manuals里面,尤其是LV_Getting_Started.pdf这个,按照它的步骤做个示波器,然后你就对G编程有个大概的了解的。</FONT></P><P><FONT color=#1a1ae6 size=4 face=楷体_GB2312> 有了串口的基本知识,和G编程基本了解,下面就详细讲解一下我在上一篇文章中发给大家的串口示例。</FONT><BR><BR><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图02.jpg" width=583 height=293></P><P><FONT color=#3809f7 size=4 face=楷体_GB2312>这是串口程序的前面板,最左边是5个输入控件,用于配置串口属性,上面还有一个开关串口的开关。中间是一个字符显示控件,如果你大概看了一下前面的labview资料,这个应该很容易就能拖出来。</FONT></P><P> </P><P><BR><BR><IMG style="WIDTH: 687px; HEIGHT: 438px" src="http://download.intelligentcar.cn/bbsupfile//upfile/截图01.jpg" width=836 height=514></P><P><FONT color=#0909f7 size=4 face=楷体_GB2312>这是程序框图,最左边的5个控件对应于前面板上的5个配置串口的输入控件。在这里你就把他当作5个“变量”(当然不是labview里通常意义的变量)好了,再往右来就是一个配置串口的控件。我们来看看labview对他的说明吧。<FONT color=#113dee>顺便说一下,labview的帮助系统非常完善,绝大多数问题完全可以从他的帮助系统中得到解决。上面的这个信息就是从labview的“及时帮助”中得到的,热键“ctrl+h”就可以在labview里打开即时帮助的窗口,里面实时显示鼠标指向的控件的功能和使用说明,非常方便。</FONT></FONT></P><P><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图03.jpg"></P><P><FONT color=#113dee size=4 face=楷体_GB2312> 看了上面这个说明,我想应该很容易看出,前面的5个控件是什么作用,分别输入到这个控件的5个端口中,用来设置串口的属性。具体设置的是什么属性?当然是前面板上对应控件里面设置的值了。每个端口名右边都有一个括号,里面显示的是这个端口的默认值,如果你不接,那么他就默认是那个值。比如“波特率”如果你不接,那么串口的默认波特率就是9600。对于有的属性可能不用修改,那么我们就直接在这里引入一个变量就可以了,比如是否启用“终止符”上面我就接了一个“假”的布尔常量,表示我们的串口不用自动截取终止符“\n”,这在我们后面是有用的,否则串口每次都只接收“\n“前面的字符串,而把后面的都忽略掉了。</FONT></P><P><FONT color=#113dee size=4 face=楷体_GB2312><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图04.jpg"></FONT></P><P><FONT color=#113dee size=4 face=楷体_GB2312> 再往又看,我们已经配置好串口了,那么把配置好的串口右边接一个设置串口缓冲区的控件,这个控件默认在电脑里设置一个4096大小的数据缓冲区,每次接收到4096个字节的数据时读一次。</FONT></P><P><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图05.jpg"></P><P><FONT color=#113dee size=4 face=楷体_GB2312>然后就把这个控件的右端接到读取串口数据的控件,这个控件的右端输出的就是我们从串口读到的4096字节的字符串了。下面我们就可以对这4096个字符串任意处理了。可以说当你看到这里的时候,已经几乎完全知道怎么从串口读取数据了,剩下的内容已经不是串口通讯的范围。你你说前面还有那么多的框和按钮是干什么的,还有那个些黄色的线你都没说呢!这样就完了?的确,看到这个,整个读取串口的过程你已经了然于心了,其他的那些只是为了增强程序的功能而已。</FONT></P><P><FONT color=#113dee size=4 face=楷体_GB2312> 再往右看,我们把接收到的字符串和一个叫“接收数据”的东西用一个叫“连接字符串”的控件连在一起形成了一个新的字符串,然后把这个字符串连到“字符串显示控件”上面,于是,我们接收到的数据就显示在前面板中间的那个大大的框里面了。</FONT></P><P><FONT color=#113dee size=4 face=楷体_GB2312> 运行这个程序,点左上角那个箭头,使用单片机不停发送“helloworrd”看看,现在的程序是不是很像一个简陋的串口调试助手?</FONT></P><P><FONT color=#113dee size=4 face=楷体_GB2312> <FONT color=#ee3d11>至此你已经学会了把串口发送的数据显示在电脑了。你也许还在疑问,就这样就完了?我可以肯定的告诉你,串口就这么简单,向串口发送数据也一样,就是把那个“读串口”的图标换成写的,显示控件换成输入控件就可以了,我发的也有那个发送数据的例子,现自己看看吧,很简单。由于串口发送数据在我们的这个车的调试中用处不大,所以,我不打算讲解,如果需要的人多,我会考虑加上的。</FONT></FONT></P><P><FONT color=#113dee size=4 face=楷体_GB2312> 下面的就是在这个串口通信的基础上增加功能了,这不是串口的范围。下一篇再说吧!嘿嘿!大家如果有把疑问和想法就发在下面吧,我会及时回答和补充内容的。如果觉得对你有帮助,就回个贴吧,给点鼓励,写帖子才有意义,我当然会更积极的写下去啦!<IMG src="images/Emotions/2.gif"></FONT><FONT color=#113dee size=4 face=楷体_GB2312> </FONT><BR></P> |
|