Hallo,
ist ausgehend von diesem Puffer..
char serial3_buffer[5];
const byte buffersize = sizeof(serial3_buffer) / sizeof(char);
..das hier..
i = (i + 1) % buffersize;
..gleichbedeutend mit dem hier..
i = (i + 1) % sizeof(serial3_buffer) / sizeof(char);
?
Gruß Chris
Chris72622:
Hallo,
ist ausgehend von diesem Puffer..
char serial3_buffer[5];
const byte buffersize = sizeof(serial3_buffer) / sizeof(char);
Macht irgendwie wenig Sinn. Die Länge von serial3_buffer ist bekant mit 5. Desweiteren dürfte das mit const byte so auch nicht gehen. Warum hier kein #define nutzen?
Chris72622:
..das hier..
i = (i + 1) % buffersize;
..gleichbedeutend mit dem hier..
i = (i + 1) % sizeof(serial3_buffer) / sizeof(char);
?
Gruß Chris
Gleichbedeutend und beides nur bedingt richtig! Was soll i bewirken?
i gibt die Position an, an der das Array beschrieben wird. Ist die letzte Position des Arrays erreicht, soll zum ersten Index gesprungen werden ([0]).
Gruß Chris
sschultewolter:
Desweiteren dürfte das mit const byte so auch nicht gehen. Warum hier kein #define nutzen?
Wieso sollte das nicht gehen? sizeof() wird zur Compile-Zeit berechnet. Und du kannst bei Zuweisungen auf const Variablen auch ruhig rechnen. Man kann es danach nur nicht mehr verändern.
Warum baust du nicht gleichn einen FIFO auf?
http://www.mikrocontroller.net/articles/FIFO