多谢原子哥,果然是我放错位置了。我放在while(1)外面就好了。无线转串口也oK了。
我又想做个MPU6050的遥控器。但是发现,我这样写的话,MPU6050无法正确读数,似乎失效了。我用串口读,发现MPU6050就只读了一次数据。就不读了。
是这么写的:
while(1){
MPU6050_Pose(); //能得到角度
tmp_buf[0]=(u8)Pitch;
printf("sd %d",tmp_buf[0]);
printf("gg %f",Pitch);
//NRF24L01_TxPacket(tmp_buf);
if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
{
LED1=0;
delay_ms(300);
LED1=1;
delay_ms(300);
}
}
但我删去if语句判断就OK了,改成:
while(1){
MPU6050_Pose();
tmp_buf[0]=(u8)Pitch;
printf("sd %d",tmp_buf[0]);
printf("gg %f",Pitch);
NRF24L01_TxPacket(tmp_buf);
}
这是为什么呢,是24l01的自动应答影响了mpu6050的角度输出了吗
多谢原子哥,果然是我放错位置了。我放在while(1)外面就好了。无线转串口也oK了。
我又想做个MPU6050的遥控器。但是发现,我这样写的话,MPU6050无法正确读数,似乎失效了。我用串口读,发现MPU6050就只读了一次数据。就不读了。
是这么写的:
while(1){
MPU6050_Pose(); //能得到角度
tmp_buf[0]=(u8)Pitch;
printf("sd %d",tmp_buf[0]);
printf("gg %f",Pitch);
//NRF24L01_TxPacket(tmp_buf);
if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
{
LED1=0;
delay_ms(300);
LED1=1;
delay_ms(300);
}
}
但我删去if语句判断就OK了,改成:
while(1){
MPU6050_Pose();
tmp_buf[0]=(u8)Pitch;
printf("sd %d",tmp_buf[0]);
printf("gg %f",Pitch);
NRF24L01_TxPacket(tmp_buf);
}
这是为什么呢,是24l01的自动应答影响了mpu6050的角度输出了吗
举报