Hallo,
in der (vermutlich) relativen einfachen Routine:
1 | void lcd_string_P(const char *data)
|
2 | {
|
3 | while(pgm_read_byte(data)!=0)
|
4 | lcd_data(pgm_read_byte(data++));
|
5 | }
|
habe ich das Gefühl, dass die Funktion 'pgm_read_byte' nicht unbedingt
2x innerhalb der Schleife aufgerufen werden muss. Deshalb habe ich
alternativ die Funktion geändert:
1 | void lcd_string_P(const char *data)
|
2 | {
|
3 | uint8_t i = pgm_read_byte(data);
|
4 |
|
5 | while(i!=0)
|
6 | {
|
7 | lcd_data(i);
|
8 | i = pgm_read_byte(++data);
|
9 | }
|
10 | }
|
unabhängig ob dies nun offensichtlich dämlich oder clever ist:
Wie kann ich sowas objektiv ermitteln?
(Speicher, Geschwindigkeit, ... was auch immer?)
danke
hal