02-11-2014, 10:17
No masz rację Mac. prawidłowa nomenklatura to rzecz ważna...
No dobrze zanim pójdziemy dalej w naszych pracach nad Złomkiem, proponuję wykonać proste ćwiczenie.
Na początek napiszemy sobie kawałek kodu by sprawdzić co dzieje się gdy licznik się przepełnia. Zrobimy to na przykładzie zmiennej typu integer. Zmienna ta jak wiemy jest przechowywana w dwóch bajtach czyli maksymalna jej wartość to 32767 a wartość minimalna -32768, kod wygląda następująco:
Tak przygotowany program, wgrywamy do arduino i w monitorze portu szeregowego obserwujemy co się dzieje.
Wartość "licznik" ustawiłem celowo na samym końcu zakresu tak by było widać co się stanie z jego wartością w momencie przepełnienia i by nie musieć czekać długo na efekt.
Następnie zrobimy to samo ćwiczenie ale dla zmiennej typu: unsigned int.
Kod wyglada bardzo podobnie:
Ciekaw jestem czy efekty są takie jak podejrzewaliscie/oczekiwaliście.
No dobrze zanim pójdziemy dalej w naszych pracach nad Złomkiem, proponuję wykonać proste ćwiczenie.
Na początek napiszemy sobie kawałek kodu by sprawdzić co dzieje się gdy licznik się przepełnia. Zrobimy to na przykładzie zmiennej typu integer. Zmienna ta jak wiemy jest przechowywana w dwóch bajtach czyli maksymalna jej wartość to 32767 a wartość minimalna -32768, kod wygląda następująco:
Kod:
int licznik = 32750;
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(licznik);
licznik++;
delay(1000);
}Tak przygotowany program, wgrywamy do arduino i w monitorze portu szeregowego obserwujemy co się dzieje.
Wartość "licznik" ustawiłem celowo na samym końcu zakresu tak by było widać co się stanie z jego wartością w momencie przepełnienia i by nie musieć czekać długo na efekt.
Następnie zrobimy to samo ćwiczenie ale dla zmiennej typu: unsigned int.
Kod wyglada bardzo podobnie:
Kod:
int unsigned licznik = 65525;
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(licznik);
licznik++;
delay(1000);
}Ciekaw jestem czy efekty są takie jak podejrzewaliscie/oczekiwaliście.
...przede wszystkim nie zakłócać...

