Moi drodzy,
mam średnia wiedze na temat programowania, ale napisałem juz kilka programów nawet działających, ale prostacko...
chciałem zrobić tak, żeby monitor wyświetlał w przypadku mniejszej liczby od 10 "0" z przodu, ale mi nie wychodzi to...
Monito r ma podawać np czas działania programu w zapisie podobnym: 01:15 min
Załozyłem, że będzie zmienna char 2liczby[2] i że jak będzie liczba <10 to 2liczby[0] = "0", a 2liczby[1] wartość tej liczby...
Napisałem taki kod (jeden z wariantów, ale żaden nie zadziałała:
Kompilator twierdzi, że błedem jest zapis: char zero = "0"; Why? Gdy napiszę: pole2[0] = "0"; - to to samo, że to bład?
Dlaczego? Co mam robić, aby było dobrze?
A! Monitor mam 16x2 dlatego takie założyłem dwie tablice.
Tak samo nie rozumiem, czemy nie da dary zapisać: dtostrf(zmienna, 2, 0, pole2[1]); ? Taki ze mnie słabiak...
Pomocy!
Nie chcę wiecznie pisac prymitywnie, jak do tej pory, a pomocy w tutorialach szukałem bezowocnie...
Dzieku za wszwelkie podpowiedzi
Pozdrawiam
Spróbowałem zrobić z tego funkcję, która zwraca tablice 2 elementową char... też kompliator uznał, że błędem jest końcowy zapis: return "tablica"... - nie można zwracać tablicy?
Teraz błędy są takie:
warning: invalid conversion from 'char' to 'char*' [-fpermissive]
strcat(tmptxt1, tmptxt2);
i
note: initializing argument 1 of 'char* strcat(char*, const char*)'
extern char *strcat(char *, const char *);
Natomiast taki zapis: tmptxt2[0] = 0; kompilator toleruje, a przwcie z to jest tablica char!!!! Why?
mam średnia wiedze na temat programowania, ale napisałem juz kilka programów nawet działających, ale prostacko...
chciałem zrobić tak, żeby monitor wyświetlał w przypadku mniejszej liczby od 10 "0" z przodu, ale mi nie wychodzi to...
Monito r ma podawać np czas działania programu w zapisie podobnym: 01:15 min
Załozyłem, że będzie zmienna char 2liczby[2] i że jak będzie liczba <10 to 2liczby[0] = "0", a 2liczby[1] wartość tej liczby...
Napisałem taki kod (jeden z wariantów, ale żaden nie zadziałała:
Kod:
//Monitor
char rzad16a[16];
char rzad16b[16];
char pole3[4];
char pole2[2];
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void pole2w1(float zmienna){ //2 liczby do wyświetlenia (tylko dodatnie)
char zero = "0";
if(zmienna<=9){
pole2[0] = zero;
pole2[1] = zmienna;
}else{
dtostrf(zmienna, 2, 0, pole2);
}
//strcpy(pole2, wynik);
//return wynik;
}
void loop() {
// put your main code here, to run repeatedly:
float temperatura1 = 31.2;
pole2w1(temperatura1);
//Serial.print("1: ");
Serial.print(pole2[0]);
//Serial.print("\t 2: ");
Serial.print("\t");
Serial.print(pole2[1]);
Serial.print("\n");
}
Kompilator twierdzi, że błedem jest zapis: char zero = "0"; Why? Gdy napiszę: pole2[0] = "0"; - to to samo, że to bład?
Dlaczego? Co mam robić, aby było dobrze?
A! Monitor mam 16x2 dlatego takie założyłem dwie tablice.
Tak samo nie rozumiem, czemy nie da dary zapisać: dtostrf(zmienna, 2, 0, pole2[1]); ? Taki ze mnie słabiak...
Pomocy!
Nie chcę wiecznie pisac prymitywnie, jak do tej pory, a pomocy w tutorialach szukałem bezowocnie...
Dzieku za wszwelkie podpowiedzi
Pozdrawiam
Spróbowałem zrobić z tego funkcję, która zwraca tablice 2 elementową char... też kompliator uznał, że błędem jest końcowy zapis: return "tablica"... - nie można zwracać tablicy?
Teraz błędy są takie:
warning: invalid conversion from 'char' to 'char*' [-fpermissive]
strcat(tmptxt1, tmptxt2);
i
note: initializing argument 1 of 'char* strcat(char*, const char*)'
extern char *strcat(char *, const char *);
Natomiast taki zapis: tmptxt2[0] = 0; kompilator toleruje, a przwcie z to jest tablica char!!!! Why?