搜索
bottom↓
回复: 4

C++ Builder在线程中读取高速串口数据

[复制链接]

出0入0汤圆

发表于 2010-4-1 10:56:13 | 显示全部楼层 |阅读模式
我用victor在线程中读串口数据
int n = Form1->YbCommDevice1->Read(Buf,8192);
每次读到的不是完整的数据包
在数据包中有识别码
怎样才能实现读出一完整的数据包
注:用定时器读取速度太慢,老是丢包

串口API可以实现单字节读取
便于数据包首尾定位
谁有用API实现串口线程通讯的例子
谢谢!

出0入0汤圆

 楼主| 发表于 2010-4-9 13:29:51 | 显示全部楼层
ComPort与ComDataPacket结合使用,实现高速串口数据收发
相见恨晚啊!!!!!!!!!!!!
在接收事件中,数据包与数据包之间可以无时间间隔……
自己整理的ComPort中文使用说明
1、组件栏
(原文件名:image001.png)

2、ComPort
(原文件名:image003.png)

3、ComDataPacket(原文件名:image005.png)

4、ComPort与ComDataPacket结合使用,实现高速串口数据收发
初始化:
……
  ComDataPacket1->CaseInsensitive = true;    //数据包首尾监控接收使能
  ComDataPacket1->IncludeStrings=false;     //接收不包括首尾字符
  ComDataPacket1->StartString = 'x';         //数据包起始位
  ComDataPacket1->StopString = 'y';         //数据包停止位
  ComDataPacket1->Size = 6;               //数据包长度包括起始位,不包括停止位
……
如MCU发送”x12345y”,PC实际收到12345

PC发送数据包不包括StartString和StopString
如PC发送"12345",MCU实际收到12345
MCU要发送7个字符串,而ComDataPacket1->Size要设置成6;
接收函数:
void __fastcall TForm1::ComDataPacket1Packet(TObject *Sender,
      const AnsiString Str)
{
    check_data(Str);        //在此事件中校验并处理数据
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CPort在BCB6下编译错误解决方法
点击此处下载 ourdev_544772.txt(文件大小:1K) (原文件名:CPort在BCB6下编译问题的解决.txt)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
最新的ComPort(TComPort4Beta_Delphi2010)
支持CB6,CB2007,CB2009
点击此处下载 ourdev_544774.rar(文件大小:504K) (原文件名:TComPort4Beta_Delphi2010.rar)

出0入4汤圆

发表于 2010-9-15 17:30:12 | 显示全部楼层
按你的方法改了,重新安装后还是出现
[Linker Error] Unresolved external '__fastcall Cport::TCustomComPort::SetPortA(const System::AnsiString)'

出0入0汤圆

发表于 2010-11-10 16:31:18 | 显示全部楼层
回家再看看

出0入0汤圆

发表于 2014-2-21 22:24:04 | 显示全部楼层
hephi 发表于 2010-4-9 13:29
ComPort与ComDataPacket结合使用,实现高速串口数据收发
相见恨晚啊!!!!!!!!!!!!
在接收事件中 ...

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

本版积分规则

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

GMT+8, 2024-5-5 00:41

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

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