Только начал входить в 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');
}
}
}
}
}