标签:flag union direct 表示 hang i++ char* char queue
/************************
char_to_int函数
**************************/
void char_int(char* p, long int* q) //p指向要转换数组首地址
{
union change
{
long int d;
unsigned char dat[4];
}r1;
for(int i; i<4; i++)
{
dat[i]=q[i];
}
*q = d;
}
/*******************************************************************
把接收到的数据放进flag_D[18]数组里
**********************************************************************/
while( InspectQueue() )
{
Flag_D[i]=OutQueue(); //要在前面定义i=0;
if( Flag_D[i]==‘+‘)
{
for( i=1; i<18; i++)
{
Flag_D[i]=OutQueue();
}
}
}
if(Flag_D[17]==‘/n‘)
{
PS_BLU = 1;
Flag_Direction = 1; //把Flag_Direction定义为int类型,表示已存入一个完整的数据包
}
// if(InspectQueue())
// {
// PS2_BLU = 1;
// Flag_Direction=OutQueue();
// }
/*******************************************************************
修改void Get_RC(u8 mode)函数
**********************************************************************/
else if(mode==2)
{
if(Flag_Direction == 1) //判断是否接收到完整数据包
{
char_int(&Flag_D[1], &Target_A);
char_int(&Flag_D[5], &Target_B);
char_int(&Flag_D[9], &Target_C);
char_int(&Flag_D[13], &Target_D);
Flag_Direction = 0;
}
}
// Kinematic_Analysis(Move_X,Move_Y,Move_Z);//得到控制目标值,进行运动学分析
标签:flag union direct 表示 hang i++ char* char queue
原文地址:https://www.cnblogs.com/kalzzz-thingg/p/13406226.html