初学者,遇到问题了,希望在这里能够得到大家的帮助~~`

andy_u 2007-11-29 09:06:03
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int funValue = 0;
try
{


unsigned char buf[4];


buf[0] = 29;
buf[1] = 0;
buf[2] = 0;
buf[3] = 226;

YbCommDevice1->Write(buf,4);


Sleep(1000);

unsigned char buf1[4096];

int buf1_length = YbCommDevice1->Read(buf1,4096);

for(int i=0;i<10;i++)
{
funValue = (int)buf1[i];
Memo1->Lines->Add(funValue);
}
delete buf,buf1;
}
catch(Exception &e)
{
ShowMessage("YbCommDevice1: "+e.Message);
}
}
这是串口通讯里的一段代码运行时就算没有设备连接也会返回数据,我就纳闷了。请多多指教!~~
...全文
94 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
andy_u 2007-12-01
  • 打赏
  • 举报
回复
2楼的方法果然行,可是能告诉我这是为什么吗?
ccrun.com 2007-12-01
  • 打赏
  • 举报
回复
楼主用的应该是Victor chen的串口组件。

建议在Read以前加一行:
unsigned char buf1[4096];
memset(buf1, 0, 4096);
int buf1_length = YbCommDevice1->Read(buf1, 4096);
i_love_pc 2007-11-30
  • 打赏
  • 举报
回复
没有连接设备发送接收没有异常??
楼主用的什么串口组件?
另外发送接收的缓冲区使用前初始化或清零看一下!

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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