请教版主及bcb高手关于利用mscomm控件进行串口通信的问题
我现在遇到这样的问题:
1.通过output属性我发送一个0x20,能在input属性上收到,但把它赋值给一个RichEdit的Text属性就不能显示!
2.我想到达这样的目的,发送一个数据后,例如发送0x20,如果收到对方机器的应答0x20,那么继续发送下面的数据,如果没有收到则再循环发送0x20,直到收到0x20。我现在是能收到回应,但好像不能把自定义的全局布尔变量传递到发送函数中去。
具体环境是这样:短接com1,使得从com1发送的数据也能在com1接收。
先定义私有变量bool FOK;
在一按钮单击事件中添加如下代码:
FOK=false;
do{
MSComm1->Output=WideString(0x20);
}
while(!FOK);
在MSComm的OnComm事件中添加如下主要代码:(recestr为从Output属性中接收的字符串。
OleVariant str;
Ansistring recestr;
if(MSComm1->CommEvent==2)
{
str=MSComm1->Input;
recestr+=WideString(str);
if(recestr==0x20) FOK=true;
}
这个方法在哪有问题?谢谢。
抱歉,本人只有七○分了。