Python从Arduino和prin读取IMU数据

2024-09-28 20:45:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有Arduino代码(实际上是Teensy 3.2)通过串行发送数据

void loop()
{
  data1 = roll; // integer
  data2 = pitch; // integer 
  data3 = yaw; // integer

  byte buf1[4];
  buf1[0] = data1 & 255;
  buf1[1] = (data1 >> 8)  & 255;
  buf1[2] = (data1 >> 16) & 255;
  buf1[3] = (data1 >> 24) & 255;
  Serial.write(buf1, sizeof(buf1));

  byte buf2[4];
  buf2[0] = data2 & 255;
  buf2[1] = (data2 >> 8)  & 255;
  buf2[2] = (data2 >> 16) & 255;
  buf2[3] = (data2 >> 24) & 255;
  Serial.write(buf2, sizeof(buf2));

  byte buf3[4];
  buf3[0] = data3 & 255;
  buf3[1] = (data3 >> 8)  & 255;
  buf3[2] = (data3 >> 16) & 255;
  buf3[3] = (data3 >> 24) & 255;
  Serial.write(buf3, sizeof(buf3));

  while (micros() - loop_timer < 2500);
  loop_timer = micros();
}

我想接收数据并用python打印:

^{pr2}$

似乎接收到的数据混淆了,没有正确接收。在知道Arduino每隔0.0025s更新一次数据的情况下,将数据(横滚、俯仰和偏航)从Arduino发送到python的最佳方式是什么


Tags: 数据loopserialintegerbytearduinowritedata1