【第一周周报】WINCE下串口通讯
来源:互联网 发布:数据结构与算法c 版 编辑:程序博客网 时间:2024/05/17 20:34
1.WindowsCE使用串口需要有串口驱动程序,一般由BSP实现
2WindowsCE系统中驱动程序分为两种:内建设备驱动和流接口驱动
3.流接口驱动程序是以设备管理器接受控制命令并且通过调用文件系统API处理相关应用程序
串口驱动即为流接口驱动的形式 设备名一般是COMx的形式
串口通讯编程:
1.打开和关闭串口
打开串行端口API函数:
HANDLE WINAPI CreateFile(
LPCTSTR lpFileName, //打开文件名 对串口而言 如TEXT("COM1:")
DWORD dwDesiredAccess, //访问模式( 读,写)
DWORD dwShareMode, //是否共享读写
LPSECURITY_ATTRIBUTES lpSecurityAttributes, //安全属性 一般选择缺省 NULL
DWORD dwCreationDisposition, //对串口已经存在的设备 使用OPEN_EXISTING 表示打开已经存在的文件
DWORD dwFlagsAndAttributes, // 文件标志和属性
HANDLE hTemplateFile); //模板文件
关闭串行端口API函数
打开串口成功之后会返回一个有效地句柄值,调用CloseHandle函数关闭已经打开的串口
2.读写串行端口
读串口API函数ReadFile:
BOOL WINAPI ReadFile(
HANDLE hFile, //文件句柄 LPVOID lpBuffer, //接受数据的缓冲区的指针 DWORD nNumberOfBytesToRead, //number of bytes to read LPDWORD lpNumberOfBytesRead, //point to number of bytes written LPOVERLAPPED lpOverlapped //pointer to structure for overlapped IO);
举例:
int rc;
DWORD cBytes;
BYTE ch;
rc=ReadFile(hSer, &ch, 1, &cBytes, NULL);
写串口函数 WriteFile:
BOOL WINAPI WriteFile(
HANDLE hFile, //句柄
LPCVOID lpBuffer, //缓冲区指针
DWORD nNumberOfBytesToWrite, //number of bytes to write
LPDWORD lpNumberOfBytesWritten, //pointer to number of bytes written
LPOVERLAPPED lpOverlapped); //pointer to structure for overlapped IO
举例:
Int rc;
DWORD cBytes;
BYTE ch;
ch = TEXT(‘a’);
rc = WriteFile(hSer, &ch, 1, &cBytes, NULL);
3.配置串行端口
读写操作之前应该正确配置串口工作状态 使用的API函数如下:
BOOL GetCommState(HANDLE hFile, LPDCB lpDCB);
BOOL SetCommState(HANDLE hRle, LPDCB lpDCB);
第一个参数是已经打开的函数的句柄,第二个参数是一个指针,指向DCB结构(查阅MSDN)
4.异步多线程通讯
(未完待续)
- 【第一周周报】WINCE下串口通讯
- wince下串口通讯
- 第一周周报
- 第一周周报
- 冬令营第一周周报
- 冬令营第一周周报
- 第一周周报
- 假期第一周周报
- 学习第一周周报
- 第一周周报
- 十月第一周周报
- Wince 串口通讯助手
- object-c 第一周周报
- 【暑假】实验室第一周周报
- 20160807_第一周周报
- 11月第一周周报
- [WinCE]Windows CE下的串口通讯实例
- WINCE串口通讯经验小结
- 多数据库支持的应用程序设计
- 新手网站优化的感慨
- 每日C(4.字符串转换篇)
- Controlling Access to Members of a Class
- 数据库获得当前时间getdate()
- 【第一周周报】WINCE下串口通讯
- Android--AsyncTask实例
- Unix 硬件系统命令
- 用 C# 连接SQLSERVER 数据库
- 关系型数据库管理
- PS真是冤孽啊。。。。文化很重要~
- 网络编程中服务器发送的消息,客户端收不到也没有反应的几点原因
- 《问道》1月28日三区组体验1.43新版
- SQL Server 2005 T-SQL cross Apply 与outer apply