我这个陀螺仪是6轴输出的,型号是GY25,但是软件好像不太一样。
static u8 buffer[14];
static u8 redata[14];
static u8 count=0;
u8 endflag=0;
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
buffer[count++]=USART_ReceiveData(USART1);
if(count==14)
{
if(buffer[count]==0xaa && buffer[count+1]==0xa5)
{
memcpy(redate,buffer,count+13);
endflag=1;
}
count=0;
}
USART_ClearITPendingBit(USART2,USART_IT_RXNE);
}
}
void get_GrayData(void)
{
int pitch,yaw,roll;
int acc_x,acc_y,acc_z;
pitch = redata[2]<<8|redata[3];
yaw = redata[4]<<8|redata[5];
roll = redata[6]<<8|redata[7];
acc_x = redata[8]<<8|redata[9];
acc_y = redata[10]<<8|redata[11];
acc_z = redata[12]<<8|redata[13];
}