200请教
thp 2004-04-19 04:00:35 我在写一张卡的驱动,卡接在COM口上,我往串口发送不同的指令,卡可以返回指令执行的结果,但要我主动去串口读取,那流程应该是:
1、发送指令到串口:int txWriteData(const char *Data,int nDataLen);//数据发送成功返回0,否则返回非零(-1)
2、从串口读取指令执行结果int txReadData(char *Buf);//这个函数一直读到数据才返回,返回实际读到的数据长度,数据保存在Buf里。
现在我要把这两个动作封装成一个函数:
int txRunCmd(const char* cData,int nDataLen,char *Buf)
{
if(txWriteData(cData,nDataLen)==0)
return txReadData(Buf);
return -1;
}
我想问的是上面这样子封装为什么老是不成功,也就是发指令后读不到想要的结果。
但是把txWriteData和txReadData放在不同的按钮里,然后先点击写数据,再点击读数据,就能读到正确的结果,为什么??