文档详情

Delphi串口通信编程.ppt

发布:2024-04-01约8.43千字共139页下载文档
文本预览下载声明

Delphi串口通信编程;第一章根本概念;1、通信;数据传送;传送的方式;通信的种类;字符传输;位和字节;文本编码;非文本编码;帧;2、串行通信;RS-232串行通信;RS-485串行通信;USB〔UniversalSerialBus〕接口;IEEE-1394;USB与IEEE-1394的比较;3、硬件根底知识;常用的9条RS-232信号线;一次应答呼叫过程;?数据终端DTE的控制软件持续监视振铃指示RI,等待该

信号有效

?响铃后,RI信号在ON和OFF状态之间交替变化。

?DTE的通信控制软件在检测到振铃指示后,开始通过计

算机振铃指示的ON和OFF状态的变化次数来进行计数。

当到达程序设计的次数时,控制软件发出终端就绪信号

〔DTR〕有效,使Modem进行摘机状态,开始应答

?Modem在等待一小段时间后,自动地发送它的应答载波

信号。同时Modem发出数据设备就绪信号〔DSR〕,通

知DTE已经完成所有准备工作,正在等待对方的载波信

号;?在DTE发出数据终端就绪信号〔DTR〕期间,DTE的控制软件监视数据设备就绪信号〔DSR〕是否有效,当DSR为ON状态后,DTE便知道Modem已准备建立数据链路,于是DTE开始检测载波信号〔DCD〕,以检查数据链路是否已经建立

?当主叫Modem的载波信号出现在线上时,被叫Modem发出载波信号〔DCD〕,以检查数据链路是否已经建立

?在数据链路连接期间,发送数据〔TxD〕和接收数据〔RxD〕线上即开始了全又工通信。同时,DTE仍监视载波信号〔DCD〕,以确定数据链路是否连接

?数据传输结束后,DTE使数据终端就绪信号〔DTR〕无效,Modem撤消载波检测〔DCD〕,并且使设备数据就绪信号〔DSR〕信号无效。数据候链路释放后,Modem和DTE返回到初始状态。;通信参数;数据的传送速度;数据的传送单位;起始位及停止位;校验位的检查;4、模式及流量;工作模式;串行数据的流动方式;握手;硬件握手;计算机-设备;设备-计算机;软件握手;5、接线和错误预防;接线方法;当使用RS-232与Modem进行连接时,直接连接即可

当使用RS-232和其他的设备进行连接时,有时就必须做必要的跳线;跳线;错误预防;错误预防原理:

将所传送的数值做相加的操作后与一个固定的除

数进行除法运算,所得的余数即为校验码。传送

与接收的双方只要针对其固定的检查方法分别进

行运算,比较后只要双方均一致,即正确;假设不

一致,数据重传。;6、错误排除;波特率失配;校验错误;字长不匹配;停止位错;帧错;第2章串行通信程序及组件建立;1、串行通信的WindowsAPI简述;串行通信相关函数;串行通信相关函数;HANDLECreateFile(

LPCTSTRlpFileName,//文件名指针

DWORDdwDesiredAccess,//存取〔读/写〕模式

DWORDdwShareMode,//共享模式

LPSECURITY_ATTRIBUTESlpSecurityAttribute,//securityattribute结构指针

DWORDdwCreationDistribution,//翻开文件的方式

DWORDdwAttrsAndFlags,//文件属性

HANDLEhTemplateFile//带属性复制的文件句柄

);;有关参数说明;BOOLCloseHandle(HANDLEhObject);

hObject:要关闭对象的句柄

当函数返回True时,表示关闭动作完成。;Var

FHandle:THandle;

ComName:array[0..4]ofchar;//ComName:string;

Begin

ComName:=‘COM1’;

//PCHAR(ComName)

FHandle:=CreateFile(ComName,GENERIC_READorGENERIC_WRITE,

0,nil,OPEN_EXISTING,

FILE_ATTRIBUTE_NORMAL,0);

ifFHandleINVALID_HANDLE_VALUEthen

showmessage(‘串口翻开成功!’)

Else

showmessage(‘串口翻开失败!’);

CloseHandle(FHandle);

End;;GetCommState;_DCB=packedrecord

DCBlength:DWORD;//DCB结构的长度

BaudRate:DWORD;

显示全部
相似文档