C++ Bulider中如何实现串口通信

koyl 2000-05-06 10:15:00
C++ Bulider中如何实现串口通信,能否直接使用VC++中的MSCOM控件。
...全文
337 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jerry921 2000-09-10
  • 打赏
  • 举报
回复
我自己写一个VCL控件,已经发给你了。
koyl 2000-07-07
  • 打赏
  • 举报
回复
首先感谢各位对这个问题的关心!
这个问题我已解决了,全用API做的,效果不错。

xiaohedou 2000-07-07
  • 打赏
  • 举报
回复
这个问题我也遇到过,RS232/RS422/RS485都可用.还可以参考
Delphi Super Page-网址在SOHU.COM上编程上有.
偶有一问请教:对于并口的读写,广泛地意义上是的,9X/NT系统谁有高招.
stvs@263.net
zxf_hl 2000-06-06
  • 打赏
  • 举报
回复
碰到知心人了!有结果通知我一下!zxf_hl@263.net
frankday 2000-05-27
  • 打赏
  • 举报
回复
我最近也在用c++builder 来实现串口通信,但我对于mscom.ocx 控件在vc与c++builder 的不同不大清楚.希望我们共同讨论.
email:springlin@263.net
ploto 2000-05-24
  • 打赏
  • 举报
回复
Async32在http://www.csdn.net/Delphi/index.htm就有。
koyl 2000-05-19
  • 打赏
  • 举报
回复
Dear jiafcat:
你说的那个组件那里有?
能否Email一个给我,最好有原码。
谢谢
jiafcat 2000-05-19
  • 打赏
  • 举报
回复
你的问题我也曾遇到过,据说MSCOM可用。但是由于我对COM的数据通讯不熟,所以失败了。如果你的串口通信不复杂,可以用WIN32函数。另外我发现一个vcl组件,挺好用“Async32”,还带原码。

下面是一个用win32的初始化串口的函数
int TICCard::InitComm(LPCTSTR ComName,DWORD BaudRate,BYTE ByteSize,
BYTE Parity,BYTE StopBits)
{
hComm=CreateFile(ComName,GENERIC_READ and GENERIC_WRITE, 0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);//打开串行口

if(hComm==NULL)
return 0;

SetupComm(hComm,1024*4,1024*4); // 设置输入,输出缓冲区皆为4K字节
GetCommState(hComm,&CommDCB); // 获取串行口当前默认设置
CommDCB.BaudRate=BaudRate;
CommDCB.ByteSize=ByteSize;
CommDCB.Parity=Parity;
CommDCB.StopBits=StopBits;

SetCommState(hComm,&CommDCB);
SetCommMask(hComm,EV_RXCHAR); // 指定串行口事件为接收到字符

return 1;
}

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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