1. Ja czytam do tablicy a nie do stringa - tyle, że moje dane są krótsze
2. Czy twoja biblioteka software serial to jest ten "newsoftserial" ?
Ja tak czytam serial - catread() jest wywoływany przez:
"if (Serial.available() > 0){
catread();
}"
które jest w main loop
a samo czytanie wygląda tak:
void catread(){
incoming = Serial.read(); delay(3);
if (incoming == 254) {
incoming=Serial.read(); delay(3);
if (incoming == 254){
//display.print(incoming); display.display();
delay(3);
buffget[0] = 0;
CTi=0;
do{
incoming=Serial.read();
delay(3);
buffget[CTi]=incoming;
//display.print (buffget[CTi]); display.print(" ");
CTi++;
} while(incoming!=253); //dopóki nie przyjdzie FD
delay (5);
}
}
//**********o co chodzi loggerowi?***************
switch (CTi){
case 4:
CATpoll_in();
break;
case 5:
//CATselsctVFO A/B();
break;
case 6:
CATsetmode();
break;
case 9:
CATsetfreq();
break;
}
//Serial.print("cti-=");
//Serial.println(CTi,HEX);
} //Koniec CAT
Może to cię naprowadzi na coś co pomoże
MAc
mrn
PS. CTi jest do sprawdzenia długości rozkazu, sprawdzanie jego zawartości jest dalej
PS2 czemu używasz softseriala a nie hardwarowo?
2. Czy twoja biblioteka software serial to jest ten "newsoftserial" ?
Ja tak czytam serial - catread() jest wywoływany przez:
"if (Serial.available() > 0){
catread();
}"
które jest w main loop
a samo czytanie wygląda tak:
void catread(){
incoming = Serial.read(); delay(3);
if (incoming == 254) {
incoming=Serial.read(); delay(3);
if (incoming == 254){
//display.print(incoming); display.display();
delay(3);
buffget[0] = 0;
CTi=0;
do{
incoming=Serial.read();
delay(3);
buffget[CTi]=incoming;
//display.print (buffget[CTi]); display.print(" ");
CTi++;
} while(incoming!=253); //dopóki nie przyjdzie FD
delay (5);
}
}
//**********o co chodzi loggerowi?***************
switch (CTi){
case 4:
CATpoll_in();
break;
case 5:
//CATselsctVFO A/B();
break;
case 6:
CATsetmode();
break;
case 9:
CATsetfreq();
break;
}
//Serial.print("cti-=");
//Serial.println(CTi,HEX);
} //Koniec CAT
Może to cię naprowadzi na coś co pomoże
MAc
mrn
PS. CTi jest do sprawdzenia długości rozkazu, sprawdzanie jego zawartości jest dalej
PS2 czemu używasz softseriala a nie hardwarowo?

