Несовместимые типы в присваивании ardunio - PullRequest
1 голос
/ 20 января 2020

Только начал входить в Arduino. Я купил мини-ЛИДАР, и я просто пытаюсь заставить его работать, чтобы я мог играть с ним. Это был единственный пример кода, который я смог найти, и он казался достаточно простым, чтобы запустить его. Но он выдает ошибку «несовместимые типы в присваивании int для int [9]». Я еще не программист. Кто-нибудь, пожалуйста, помогите мне выяснить, что с ним не так?

примечание: в среде IDE выделите "uart = Serial1.read ();" в течение 1 oop

int dist;// LiDAR actually measured distance value
int strength;// LiDAR signal strength
int check;// check numerical value storage
int i;
int uart[9];// store data measured by LiDAR
const int HEADER=0x59;// data package frame header
void setup()
{
  Serial.begin(9600);//set the Baud rate of Arduino and computer serial port
  Serial1.begin(115200);//set the Baud rate of LiDAR and Arduino serial port
}
void loop()
{
  if (Serial1.available())//check whether the serial port has data input
  {
    if(Serial1.read()==HEADER)// determine data package frame header 0x59
    {
      uart[0]=HEADER;
      if(Serial1.read()==HEADER)//determine data package frame header 0x59
      {
        uart[1]=HEADER;
        for(i=2;i<9;i++)// store data to array
        {
          uart=Serial1.read();
        }
      check=uart[0]+uart[1]+uart[2]+uart[3]+uart[4]+uart[5]+uart[6]+uart[7];
      if(uart[8]==(check&0xff))// check the received data as per protocols
      {
        dist=uart[2]+uart[3]*256;// calculate distance value
        strength=uart[4]+uart[5]*256;// calculate signal strength value
        Serial.print("dist = ");
        Serial.print(dist);// output LiDAR tests distance value
        Serial.print('\t');
        Serial.print("strength = ");
        Serial.print(strength);// output signal strength value
        Serial.print('\n');
       }
     }
   }
 }
}
...