全球旧事资料 分类
TIFY消息时不再发送WM_COMMNOTIFY消息ResetEve
tPostEve
t传递WM_COMMNOTIFY通讯消息,告知主线程调用读串口的过程
PostMsgFlagPostMessageForm1Ha
dleWM_COMMNOTIFYCommHa
dle0if
otPostMsgFlagthe

fbegi
MessageBox0PostMessageErrorNoticeMB_OKExite
de
de
dCloseHa
dleoverlappedhEve
t关闭重叠读事件对象e
d
procedureTForm1WMCOMMNOTIFYvarMessageTMessage消息处理函数varCommStateComStatdwNumberOfBytesReadDwordErrorFlagDwordI
putBufferArray01024ofChar
begi
if
otClearCommErrorCommHa
dleErrorFlagCommStatethe
begi
MessageBox0ClearCommErrorNoticeMB_OKPurgeCommCommHa
dlePurge_RxabortorPurge_RxclearExite
d
ifCommStatecbI
Que0the
begi
fillcharI
putBufferCommStatecbI
Que0接收通讯数据if
otReadFileCommHa
dleI
putBufferCommStatecbI
QuedwNumberOfBytesReadReadOsthe

fbegi
ErrorFlagGetLastErrorifErrorFlag0a
dErrorFlagERROR_IO_PENDINGthe
begi
MessageBox0ReadFileErrorNoticeMB_OKReceiveFalseCloseHa
dleReadOshEve
tCloseHa
dlePostEve
tCloseHa
dleCommHa
dleExite
delsebegi
WaitForSi
gleObjectCommHa
dleINFINITE等待操作完成
GetOverlappedResultCommHa
dleReadOsdwNumberOfBytesReadFalsee
de
difdwNumberOfBytesRead0the
begi
ReadOsOffsetReadOsOffsetdwNumberOfBytesReadReceiveDataReadOsOffset处理接收的数据AddToMemoI
putBufferdwNumberOfBytesReade
de
d允许发送下一个WM_COMMNOTIFY消息SetEve
tPostEve
te
d
fprocedureTForm1bt
Ope
ComClickSe
derTObjectvarCommTimeOutTCOMMTIMEOUTSDCBTDCB
begi
StatusBar1SimpleText连接中
发送消息的句柄PostEve
tCreateEve
t
ilTrueTrue
ilifPostEve
t
ullthe
begi
MessageBox0CreateEve
tErrorNoticeMB_OKStatusBar1SimpleText串口打开失败Exite
d
OverlappedRead建立句柄ReadOshEve
tCreateEve
t
iltrueFalse
ilifReadOshEve
t
ullthe
begi
MessageBox0CreateEve
tErrorNoticeMB_OKCloseHa
dlePostEve
tStatusBar1SimpleText串口打开失败Exite
d
建立串口句柄CommHa
dleGENERIC_READCreateFilePCharComboBox1TextGENERIC_WRITEor
f0
ilOPEN_EXISTINGFILE_FLAG_OVERLAPPEDFILE_ATTRIBUTE_NORMAL0
or
ifCommHa
dleINVALID_HANDLE_VALUEthe
begi
CloseHa
dlePostEve
tCloseHa
dleReadOshEve
tMessageBox0串口打开失败NoticeMB_OKStatusBar1SimpleText串口打开失败Exite
dStatusBar1SimpleText已同端口ComboBox1Text连接!
设置超时CommTimeOutReadI
tervalTimeoutMAXDWORDCommTimeOutReadTotalTimeoutMultiplier0CommTimeOutReadTotalTimeoutCo
sta
t0SetCommTimeoutsCommHa
dleCommTimeOut
设置读写缓存SetupCommCommHa
dle40961024
对串口进行指定配置GetCommStateCommHa
dleDr
好听全球资料 返回顶部