Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2350859
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:02:20

Button1发送数据只能点一次,第二次就不发送了;
另外,我用其他工具发送数据,Memo1没反应呀。

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    try
     {
       YbCommDevice1->Active = true;
     }
    catch(Exception &e)
     {
       ShowMessage("YbCommDevice1: "+e.Message);
     }

    //端口:1   偶校验   停止位为1  数据位为7
    YbCommDevice1->PackageInterval = 50;   //间隔为 50 毫秒, 根据实际情况设置
    YbCommDevice1->PackageSize = 4096; //产生一次事件最多能够接收的字节数, 根据实际情况设置
    YbCommDevice1->PackageType = cptFrameTimeout; //用判断时间间隔的方法接收数据
    YbCommDevice1->UsePackage = true;

    AnsiString s = "L1S#06001*";
    YbCommDevice1->WritePackage(s.c_str(), s.Length());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::YbCommDevice1Package(TObject *Sender,
      int NotifyType)
{
    if(NotifyType & EV_RXCHAR)
    {
        const int BufSize = 4096;
        char Buf[BufSize+1]; //多一个文本结束符
        AnsiString s;
        int n = YbCommDevice1->ReadPackage(Buf, BufSize);

        if(n>0) //收到字节数
        {
            Buf[n] = 0; //添加一个文本结束符 '\0'
            s+=Buf;
            Memo1->Lines->Add(s);
        }
    }
}
//---------------------------------------------------------------------------

--------------------next---------------------

阅读(1078) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~