YbCommDevice串口控件(有帮助者必给分)

springworker 2008-12-30 10:47:04
我用YbCommDevice串口控件想实现发送和接收,我的代码是这样的,
但是循环几次以后就在出现错误,停在 fwrite(Buf,n,1,pfile); 此处
用过此控件的朋友看看是怎么回事。
若我说的不详细,可询问。

FILE *pfile;
int n=0;
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
char Buffer[4];
int nbytes=4;
AnsiString s="";

YbCommDevice1->Active=true;
n++;

if(n>3)
{
n=1;
}
s="分站号"+IntToStr(n)+"扫描";
RichEdit1->Lines->Add(s);
Buffer[0]=0xa0;
Buffer[1]=n;
Buffer[2]=0xd0;
Buffer[3]=0xb0;
YbCommDevice1->Write(Buffer,nbytes);


Timer2->Enabled=true;
Timer1->Enabled=false;
pfile = fopen("tempdata.txt","r+b");
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
unsigned char Buf[8192];
int n = YbCommDevice1->Read(Buf,8192); //收到 n 个字节
AnsiString s="";
for(int i=0; i<n; i++)
{
s += IntToHex(Buf[i],2) + " ";
}

fwrite(Buf,n,1,pfile); //实际读出字节数 = YbCommDevice1->Read(任意缓存地址,缓存容量);

s = s.Trim();
if(s.IsEmpty())
{
Timer1->Enabled=true;
Timer2->Enabled=false;
}
else
{
//fwrite(mutou_buf,16,1,pfile);
RichEdit1->Lines->Add(s);
RichEdit1->Perform( EM_SCROLLCARET, 0, 0 );
Timer1->Enabled=true;
Timer2->Enabled=false;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Timer1->Enabled=true;
}
//---------------------------------------------------------------------------
...全文
264 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxglsshui 2009-01-20
  • 打赏
  • 举报
回复
帮顶
chunyou128 2009-01-19
  • 打赏
  • 举报
回复
友情up
hbwhwc 2008-12-31
  • 打赏
  • 举报
回复
mark
success000 2008-12-31
  • 打赏
  • 举报
回复
mark
wesleyluo 2008-12-30
  • 打赏
  • 举报
回复
刚刚下了这个控件,现在过来瞧瞧。
好像用这控件实现很简单咦
springworker 2008-12-30
  • 打赏
  • 举报
回复
1楼有道理!
jaffy 2008-12-30
  • 打赏
  • 举报
回复
估计也是文件操作的问题
My_Love 2008-12-30
  • 打赏
  • 举报
回复
pfile = fopen("tempdata.txt","r+b");

fwrite(Buf,n,1,pfile);

fclose(pfile); //可能是没有这句导致,再次fopen失败!

703

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
  • ActiveX/COM/DCOM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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