10串口编程.ppt_第1页
10串口编程.ppt_第2页
10串口编程.ppt_第3页
10串口编程.ppt_第4页
10串口编程.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、串口编程,串口概述,串口通讯是指外设与计算机间使用2根数据信号线(另外需要地线,同时还要控制线),数据在一根信号线上一位一位地进行传输,每一位数据都占一个固定的时间长度。适合低速、远距离通信。 并口通信是指一条信息的各位数据被同时传送。速度快、效率高,成本高,适合近距离通信。 常用的串口有DB9和DB25,距离12m时,可以采用直接电缆连接,较远采用Modem。 DB9引脚说明:2:RXD 数据接收 3:TXD 数据发送 5:信号地 DB25引脚说明:3:RXD 数据接收 2:TXD 数据发送 7:信号地,1.打开/关闭串口,HANDLE CreateFile( LPCTSTR lpFileN

2、ame, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDispostion, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile );,HANDLE hComm=CreateFile( _T(“com1:”), GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); 不成功 hComm=INVALID_HANDLE_VALU

3、E,CloseHandle(hComm); hComm:通过CreateFile()打开时返回的句柄,2.配置串口,BOOL GetCommState( HANDLE hFile, LPDCB lpDCB ); 获取串口的状态(band 校验 数据位等参数) BOOL SetCommState( HANDLE hFile, LPDCB lpDCB ); 设置串口的状态(band 校验 数据位等参数) 一般我们先获取,再修改DCB相应的值,再设置 DCB结构体,参考P353,3.读写串口,ReadFile WriteFile 参考文件操作的读写,由于串口操作速度较慢,一般不在主线程直接操作串口读

4、写,应该在独立的线程中进行,4.异步串口I/O,BOOL GetCommMask( HANDLE hFile, LPDWORD lpEvtMask ); 获取串口事件 BOOL SetCommMask( HANDLE hFile, DWORD dwEvtMask ); 设置串口事件 WaitCommEvent (HANDLE hFile, LPDWORD lpEvtMask , 0); 等待串口事件,串口事件,5.端口读写超时,BOOL SetCommTimeouts( HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts ); P357,设置缓冲区大小,BO

5、OL SetupComm( HANDLE hFile, DWORD dwInQueue, DWORD dwOutQueue );,6.控制串口,BOOL SetCommBreak( HANDLE hFile ); 设置串口中断 BOOL ClearCommBreak( HANDLE hFile ); 清除串口中断,7.清空串口缓冲区,BOOL PurgeComm( HANDLE hFile, DWORD dwFlags ); 清除串口发送和接收缓冲区 dwFlags: PURGE_TXCLEAR PURGE_RXCLEAR 可以通过 | 连接,8.清除错误并查询状态,BOOL ClearCommError( HANDLE hFile, LPDWORD lpErrors, LPCOMSTAT lpStat );,lpErrors 参数的取值,lpStat 的COMSTAT结构,typedef struct _COMSTAT DWORD fCtsHold : 1; DWORD fDsrHold : 1; DWORD fRlsdHold : 1; DWORD fXoffHold : 1; DWORD fXoffSent : 1; DWORD fEof : 1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论