tarothp 发表于 2018-11-12 11:22:01

串口指令问题

求助下,我陀螺仪需要做个开机归零。我用给陀螺仪用CH304串口连电脑,在电脑上行用串口助手直接发送FF AA 52 是可以看到陀螺仪校准归零。但是我用2560写个发送串口指令的程序,陀螺仪不归零。求指教,不胜感激!
const char zero = {0xFF, 0xAA, 0x52};
unsigned char Re_buf, counter, sign;
float x , y, z;
void setup() {
Serial.begin(9600);
Serial2.begin(115200);
delay(100);
Serial2.write(zero,3);
//Serial2.write(0xFF);
//Serial2.write(0xAA);
//Serial2.write(0x52);
}
void Rxyz()
{
while (Serial2.available())
{
    Re_buf = (unsigned char)Serial2.read();
    if (counter == 0 && Re_buf != 0x55)return;
    counter++;
    if (counter == 11)
    {
      counter = 0;
      sign = 1;
    }
    if (sign)
    {
      sign = 0;
      if (Re_buf == 0x55 && Re_buf == 0x53)
      {
      x = (short(Re_buf << 8 | Re_buf)) / 32768.0 * 180;
      y = (short(Re_buf << 8 | Re_buf)) / 32768.0 * 180;
      z = (short(Re_buf << 8 | Re_buf)) / 32768.0 * 180;
      }
    }
}
}
void loop() {
Rxyz();
Serial.print("Z=");
Serial.println(z);
//Serial.write(zero, 1);
//Serial.write(zero, 2);
//Serial.write(zero, 3);
delay(200);
}   
页: [1]
查看完整版本: 串口指令问题