搜索
bottom↓
回复: 9

C++Builder 6 中如何安装ComPort3.1控件?大哥帮帮忙!

[复制链接]

出0入0汤圆

发表于 2009-5-20 08:11:30 | 显示全部楼层 |阅读模式
C++Builder 6 中如何安装ComPort3.1控件?大哥帮帮忙!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2009-5-20 14:24:59 | 显示全部楼层
顶上,没人知道吗?

出0入0汤圆

 楼主| 发表于 2009-5-20 15:51:28 | 显示全部楼层
继续顶上

出0入0汤圆

发表于 2009-7-22 15:21:17 | 显示全部楼层
我只装上了2.64版 3.1版死活装不上,不知为什么

出0入0汤圆

发表于 2009-7-22 15:52:37 | 显示全部楼层
我觉得用组件做串口程序并不太好,占资源,而且操作多个串口时很容易出问题,串口组件是用API做的,所以建议直接用API,配合多线程操作,挺方便的,而且相当稳定,

出0入0汤圆

发表于 2009-7-22 17:28:57 | 显示全部楼层
flywater 能不能给个简单的API的串口操作例子?

出0入0汤圆

发表于 2009-7-22 18:39:56 | 显示全部楼层
基本步骤是这样的:
1、先打开串口:
  DCB dcb;             //串口设置信息;
  HANDLE hComPump;
  hComPump=CreateFile(nCommNo,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0);
  hComPump-串口句柄。
  nCommNo-串口号。
  初搞的话其它参数可以不理。
2、设置串口:
  dcb.BaudRate=9600;             //设波特率;
  dcb.ByteSize=8;                //设字节为8位;
  dcb.StopBits=1;                //停止位;
  dcb.Parity=EVENPARITY;         //奇偶校验;
  SetCommState(hComPump,&dcb);   //将参数设置到串口;
通过以上操作就按你的要求打开串口了,下面就是串口数据的发送和接收问题。
1、数据发送(定义缓冲区就不详说了)
    sprintf(sSendBuffer,"%c%c%c%c%c%c",0xFe,0xfd,0xf5);  //将缓冲区内数据填为:fe fd f5
    WriteFile(hComPump,sSendBuffer,nSendLength,&nTemp,NULL);       //把数据发送到串口
    参数:
      hComPump-你打开串口时的串口句柄
      sSendBuffer-要发送的数据缓冲区
      nSendLength-要发送的数据个数;
      nTemp-成功发送的个数;
    Sleep(400);  //要做点廷时,具体长度可根据下位机反应时间定。
2、数据接收
   COMSTAT cs;
   DWORD nBytesRead,dwError;
   ClearCommError(hComPump,&dwError,&cs);  //先取出cs串口状态结构数据,确定串口缓冲区内已有多少个数据;
   ReadFile(hComPump,sBuffer,cs.cbInQue,&nBytesRead,NULL);  //读取所有串口缓冲区内的数据到sBuffer中;

3、程序退出时关闭串口
   CloseHandle(hComPump);
到此,一个简单的串口发送和接收流程已完成,当然,这只是基本流程性的东西,要想做出稳定可靠的串口程序,还要有太东西要自己完善。我一般在线程内进行串口操作,显示和数据库用另外线程。数据发送完成后可以不等待直接一直判断cs.cbInQue,一个字节一个字节接收,这样效率和通信速度能提高很多
   

不好意思,打字慢,还错字连篇,改了N次,呵呵

出0入0汤圆

发表于 2009-7-22 21:36:32 | 显示全部楼层
谢谢 flywater 落叶 ,我也用API做了一个,但数据接收部分,一直没有调试通过,明天用你的试试看

出0入0汤圆

发表于 2009-7-26 08:50:12 | 显示全部楼层
楼主有没有 C++Builder的安装软件啊?我是一个C++builder的初学者,想做一个上位机,但是在网上找了很长时间也没找到这个编程软件。

出0入0汤圆

发表于 2009-7-27 20:23:57 | 显示全部楼层
网上一搜就是一大把,用迅雷试试!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 16:43

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表