VC++串口通信技术_第1页
VC++串口通信技术_第2页
VC++串口通信技术_第3页
VC++串口通信技术_第4页
VC++串口通信技术_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

VisualC++串口通信技术信息安全研究所雨雾雨雾雨雾第一章第二章第三章雨雾第四章介绍计算机接口技术的基本内容,重点介绍了串口通信协议RS232。对串口通信的基本概念,数模模数转换原理和应用简单说明。MSComm控件进行通信编程的基本方法、属性和事件。介绍Windows操作系统下串口通信API的演变,主要API函数。第一章概述1、计算机接口技术简介2、RS232串口标准1、计算机接口技术简介(1)什么是接口?(2)接口的基本功能(3)常见的接口(4)接口的控制方式2、RS232串口标准(1)RS—232概述(2)数据终端设备与数据通信设备(3)RS—232协议标准(4)RS—232窗口通信基本连接方法第二章端口通信编程技术1、基本概念2、模数/数模转换3、端口参数2.1基本概念(1)端口通信—同步、异步传输(2)单工、双工和全双工通信(3)端口通信—通信协议(4)数据编码(5)数据安全和完整2.2模数/数模转换(1)数模转换器(2)模数转换器2.3端口参数(1)比特率(2)流量控制方法(3)缓冲储存器(4)串口适配器终端和I/O地址第三章MSComm控件进行串口编程(1)MSComm控件介绍(2)MSComm控件串口编程——基本流程(3)MSComm串口数据通信——字符传输(4)MSComm控件串口数据通信——高级应用3.1MSComm控件介绍1、控件的操作模式(1)事件驱动方法(2)查询方法2、控件的属性(1)voidSetCommPort(short

nNewvalue)shortGetCommPort();用于设置并返回连接的串口端口号(2)voidSetSettings(LPCSTR

lpszNewValue);String

GetSettings();用于设置并返回数据传输速率、奇偶校验、数据比特、停止比特参数。(3)Handshaking属性用于设置或者返回硬件握手协议。ComNone

默认值、无握手协议comXOnXOffXON/XOFF握手ComRTS

请求发送或清除发送握手comRtsXOnXOff请求发送和清除发送握手都可以(4)voidSetRThreshold(short

nNewValue)shortGetRThreshold()用于设置并返回要接受的字符数(5)voidSetCTSHolding(BOOL

bNewValue);BOOLGetCTSHolding()用于确定是否通过查询CTS线的状态发送数据(6)voidSetThreshold(short

nNewValue);short

GetSThreshold();设置并返回传输缓冲区中允许的最小字符数。(7)voidSetInputModel(long

nNewValue);long

GetInputModel();设置并返回传输数据的类型——0:文本、1:二进制(8)voidSetInputLen(short

nNewValue);short

GetInputLen();设置并返回Input属性从接收缓冲区读取的字符数。(9)voidSetInBufferSize(short

nNewValue);short

GetInBufferSize();用于设置接收缓冲区的大小。(10)voidSetInufferCount(short

nNewValue);short

GetInBufferCount()用于设置和返回接收数据缓冲区中等待数据的字节个数。(11)VARIANTGetInput();用于获得数据缓冲去中数据。(12)voidSetPortOpen(BOOL

bNewValue);BOOL

GetPortOpen();用于打开或关闭端口(13)voidSetOutBufferSize(short

nNewValue)用于设置发送缓冲区的大小。(14)voidSetOutBufferCount(short

nNewValue)用于设置和返回发送数据缓冲区中等待数据的字节个数。

(15)voidSetOutput(constVARIANT&newValue)用于向发送缓冲区中写数据流(16)voidGetCommEvent();用于获取事件信息。(17)voidSetDTREnable(BOOLbNewValue);BOOL

GetDTREnable()用于确定在通信是是否使用DTR线有效。(18)voidSetRSTEnable(BOOLbNewValue);BOOL

GetRSTEnable()用于确定在通信是是否使用RST线有效。(19)voidSetEOFEnable(BOOL

bNewValue);BOOL

GetEOFEnable()确定在输入过程中是否寻找文件的结尾字符。(20)voidSetCDHolding(BOOLbNewValue);BOOL

GetCDHolding();通过查询CD线的状态来确定当前是否有传输。(21)voidSetDSRHolding(BOOL

bNewValue);BOOL

GetDSRHolding();确定DataSetReady线的状态。(2)MSComm控件串口编程——基本流程1、在Project中插入MSComm控件2、初始化并打开控件3、捕捉串口事件4、串口读写5、关闭串口第四章WindowsAPI编程控制串口1、WindowsAPI串口通信编程概述2、WindowsAPI串口通信相关函数1

WindowsAPI串口通信编程概述应用程序API(ApplicationProgrammingInterface)驱动程序Windows开放服务体系2

WindowsAPI串口通信相关函数1、打开串口HANDLE

CreateFile(LPCSTR

lpszName,DWORD

fdwAccess,DWORDfdwShareModw,LPSECURITY_ATTRIBUTES

lpsa,DWORD

fdwCreate,DWORD

fdwAttrsAndFlags,HANDLE

hTemplateFile);2、分配缓冲区BOOLSetupComm(HANDLE

hFile,DWORD

dwInQueue,DWORD

dwOUTQueue);3、关闭串口BOOLCloseHandle(HANDLE

hObject);4、串口配置BOOLSetCommState(HANDLE

hFile,LPDCBlpDCB);5、设置超时结构BOOLBulidCommDCBAndTimeouts(LPCSTR

lpDef,LPDCB

lpDCB,LPCOMMTIMEOUTS

lpCommTimeouts);6、获得串口属性BOOLGetCommProperties(HANDLE

hFile,LPCOMMPROP

lpCommProp);7、清除缓冲区BOOLPurgeComm(HANDLE

hFile,DWORD

dwFlags);8、BOOLFlushFileBuffers();9、读串口BOOLReadFile(HANDLE

hFile,LPVOID

lpBuffer,DWORD

nNumberOfBytesToRead,LPDWORD

lpNumberOfBytesRead,LPOVERLAPPED

lpOverlapped);10、异步读串口BOOLReadFileEx(HANDLE

hFile,LPVOID

lpBuffer,DWORD

nNumberOfBytesToRead,LPDWORD

lpNumberOfBytesRead,LPOVERLAPPED

lpOverlapped,LPOVERLAPPED_COMPLETION_ROUTINE

lpCompletionRoutine);11、写串口BOOLWriteFile(HANDLE

hFile,LPVOID

lpBuffer,DWORD

nNumberOfBytesToRead,LPDWORD

lpNumberOfBytesRead,LPOVERLAPPED);12、异步写串口BOOLWriteFileEx(HANDLE

hFile,LPVOID

lpBuffer,DWORD

nNumberOfBytesToRead,LPDWORD

lpNumberOfBytesRead,LPOVERLAPPED

lpOverlapped,LPOVERLAPPED_COMPLETION_ROUTINE

lpCompletionRoutine);13、设置传送字符优先级最高BOOLTransmitCommChar(HANDLE

hFile,char

cChar);14、异步操作获取结果函数BOOLGetOverLappedResult(HANDLE

hFile,LPOVERLAPPED

lpOverlapped,LPWORD

lpNumberOfBytesTransferred,BOOL

bWait)雨雾15、等待事件用于获取当前状态DWORDWaitForSingleObject(HANDLE

hHandle,DWORD

dwMilliseconds)16、获取超时时间BOOLGetCommTimeOuts(HANDLE

hFile,LPCOMMTIMEOUTS

lpCommtimeouts);17、设置超时参数BOOLSetCommTimeOuts(HANDLE

hFile,LPCOMMTIMEOUTS

lpCommtimeouts);18、清除错误状态BOOLClearCommError(HANDLE

hFile,LPDWORD

lpErrors;LPCOMSTAT

lp

温馨提示

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

评论

0/150

提交评论