串口通信问题
FHCBT窗体中
//读取数据
buttonclick事件中
void __fastcall TFHCBT::FHCBT_readClick(TObject *Sender)
{
Fmain->Comm->WriteCommData(&D[0],num);
Edit1->Text=Fmain->RecStr;???发送数据后,为啥接受到的RecStr为空}
Fmain窗体中
//接受数据
void __fastcall TFmain::CommReceiveData(TObject *Sender, Pointer Buffer,
WORD BufferLength)
{// RecStr 为公有字符串变量,能接受到值,值不为空
RecStr = S;
}
[解决办法]
串口通讯接收数据的时候不是这样处理的,应该是在收到数据事件里面处理而且还要判断接收的数据的正确性
[解决办法]
如果是这种握手通讯,用串口,要主意缓冲区的设置不能大,而且要每次都清除缓冲区,用现成的控件做不知道行不行,我原来都是用API和多线程实现的
[解决办法]
不建议用事件方式,阻塞方式更方便。