请教关于串口通讯的问题

landaa 2004-02-16 08:23:30
看到网上说,用CreateFile()打开串口后,可以用GetCommMask(...,EV_DSR),来检测DSR(第6脚)的情况,从而测出串口设备是否在线,但是没有说明具体用法。我试了一下没有成功,希望高手详细解释一下用法,多谢了!
...全文
75 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
TreePool 2004-06-12
  • 打赏
  • 举报
回复
void __fastcall TMainForm::m_StatusTimeTimer(TObject *Sender)
{
int nCTS,nDSR,nRing,nRLSD;
DWORD nModemState;

nModemState=0;
if(hDefCom!=INVALID_HANDLE_VALUE)
GetCommModemStatus(hDefCom,&nModemState);

nCTS=nDSR=nRing=nRLSD=FALSE;
if(nModemState&MS_CTS_ON)nCTS=TRUE;// The CTS (clear-to-send) signal is on.
if(nModemState&MS_DSR_ON)nDSR=TRUE;//The DSR (data-set-ready) signal is on.
if(nModemState&MS_RING_ON)nRing=TRUE;//The ring indicator signal is on.
if(nModemState&MS_RLSD_ON)nRLSD=TRUE;//The RLSD (receive-line-signal-detect)

m_CTSBox->Checked=nCTS;
m_DSRBox->Checked=nDSR;
m_RINGBox->Checked=nRing;
m_RLSDBox->Checked=nRLSD;
}

OK了!
landaa 2004-05-10
  • 打赏
  • 举报
回复
请问没人回复如何结贴?
叶子哟 2004-05-10
  • 打赏
  • 举报
回复
www.cppfans.com
stonewater 2004-05-10
  • 打赏
  • 举报
回复
找一本串口编程的书看看
我以前看过一本,不错
不过现在忘了

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧