void Receive_and_Reply ()
{
RI=0;
//TI=0;
*(temp_receive_string+5)='s';
temp_receive_string_pointer=temp_receive_string;
while (1) //
{
while (RI==0);
RI=0; // 4)硬件复位无条件,不该放在软件里
//if (rx_flag==Eease_Rx) // 1)多余标志位,删去
{
*temp_receive_string_pointer =SBUF;
// temp_receive_string_pointer ++;
// 2) 先改变了指针,下方的判断就无法进行
if (*temp_receive_string_pointer=='S')
{temp_receive_string_pointer=temp_receive_string;}
if (*(temp_receive_string+5)=='K') // 5) 漏了 *
{rx_flag=Ebusy_Rx;
Send_String("Ok");
return; // 3)缺少循环出口,break也行
}
temp_receive_string_pointer ++;
} // if (RI==1)
}//if
}//while(1)
C 我常犯的错误(1)
最新推荐文章于 2021-05-18 03:37:12 发布