串口程序在仪器研发中被广泛使用,常用的上位机串口程序编写有三种方法:一、采用MSComm控件,这种方法简单,但不适用于太复杂的系统;二、用Windows API函数实现串口通信,这种方法应用广泛但比较复杂;三、用CSerial等串口类实现,CSerial类是专门针对串口通信的,也较简单(这个可以看《用VC++实现单片机与PC机串口通信的三种方法》西安石油大学:曾自强)。
我这里完成的串口程序主要参考了百度文库中的《在VS(VC)2010中使用MSComm控件实现串口通信的详细步骤》(链接)、《解决WIN7系统中VS2010不能使用MSCOMM控件的问题》(链接),不过一些地方有些问题,所以自己写一个。
首先,最基本的,你得安装并破解好VS2010,并且有向PC发送串口信息的下位机(或者是另外一台电脑),然后我们就开始正文了。
一、解决WIN7系统VS2010中MSComm的安装问题
VS2010到底有没有自带的MSCOMM控件?两篇文章中说法各异,但是我在自己电脑上安装的VS2010里是没发现的。
如果你电脑里面已经有MSComm控件,就可以跳过这部分,直接看第二部分(“二、串口程序编写”),如果你不知道自己的电脑里面是否有该控件,你可以先按第二部分进行,直到发现没有时再过来安装控件。
1.下载控件并保存到指定位置
MSComm控件下载(链接)后,将解压的四个文件(MSCOMM.SRG、MSCOMM32.DEP、MSCOMM32.oca、mscomm32.ocx)拷贝到C:\Windows\System32(WIN7系统);C:\WINDOWS\system32(XP系统)。
2.注册
如果是WIN7系统,找到C:\Windows\System32(也就是控件文件保存位置)下的cmd.exe,右键”以管理员身份运行”(或者点”开始”,在”搜索程序和文件”中输入”cmd”,可以看到”cmd.exe”,右键”以管理员身份运行”);如果是XP系统,只能是在C:\Windows\System32里找到cmd.exe,右键打开(见下图)。
然后,WIN7输入:regsvr32 C:\Windows\System32\mscomm32.ocx XP输入:regs