admin 管理员组

文章数量: 1184232


2024年4月30日发(作者:照片框模板)

上位机和单片机串口编程---API函数编程

上位机和单片机串口编程

不用MSComm控件,那看起来只能是使用Windows API了,因为MFC貌似没有

什么类封装了串口API函数的。

用Windows API 编写串口程序本身是有巨大优点的,因为控制能力会更强,效率也

会更高,而且对于那些纯绿色软件追求者来说,没有ActiveX控件比什么都重要――呵呵,

我也是这么认为。

API编写串口,过程一般是这样的:

1、 创建串口句柄,用CreateFile;

2、 对串口的参数进行设置,其中比较重要的是波特率(BaudRate),数据宽度

(BytesBits),奇偶校验(Parity),停止位(StopBits),当然,重要的还有端口号(Port);

3、 然后对串口进行相应的读写操作,这时候用到ReadFile和WriteFile函数;

4、 读写结束后,要关闭串口句柄,用CloseFile;

下面依次大致讲讲个步骤的过程:

第一步,从字面上去理解,大家也可以发现CreateFile实际上表明Windows是把串

口当作一个文件来处理的,所以它也有文件那样的缓冲区、句柄、读写错误等,不同的是,

这个文件名字只有固定的几个(一般为四个),而且始终存在(__G),而且在调用CreateFile

的时候请注意它的参数。CreateFile函数原型如下:

HANDLE CreateFile(__ lpFileName,

DWORD dwDesiredAccess,

DWORD dwShareMode,

__ITY___TES lpSecurityAttributes,

DWORD dwCreationDisposition,

DWORD dwFlagsAndAttributes,

HANDLE hTemplateFile );

lpFileName是你需要创建的端口号,默认情况下是COM1;dwDesiredAccess是表

明你想让你创建的串口以何种方式存在于你的应用程序中,因为串口通常是可读可写的,

所以这里必须设置为___READ|___WRITE;dwShareMode是用来设置串口共享属性的,

因为串口属于临界资源,当然不能共享,所以这里也必须设置为0;lpSecurityAttributes

是设置安全模式,一般采用默认的安全模式就可以了,选择NULL;dwCreationDisposition

是设置是否打开新的“文件”(上面说过了,Windows是把串口等端口当作文件来处理

的),因为串口属于硬件端口,当然不能随便重复创建,所以这里必须告诉Windows,每

次创建的时候必须使用已经存在的串口,所以这里设置OPEN___G;


本文标签: 串口 设置 创建 文件 句柄