TRANS_PROCESS是全局变量
bool trans_carrier_frame(char retry, byte timeout, byte *frame, int length, byte* outbuff,int* outlen)
{
TRANS_PROCESS.outbuff =outbuff;
byte BUFFER_FRAME[2] ={0,1};
memcpy(TRANS_PROCESS.outbuff,BUFFER_FRAME,2);
if(TRANS_PROCESS.valid ==0x02)
{
*outlen =TRANS_PROCESS.length;
memset(&TRANS_PROCESS,0,sizeof(struct trans_process));
//注意 注意 outbuff 的值不为空, 而是 outbuff [0]=0, outbuff [1]=1;
//因为一开始 TRANS_PROCESS.outbuff指向了outbuff,然后两者都指向了同一空间,此空间里面的值赋值0,1后。
//经过memset TRANS_PROCESS,只是TRANS_PROCESS.outbuff指向了空,是野指针了,但是outbuff指向没变。
return true;
}
MSleep(1000);
}