Erledigt Fragen zu DS1302

Strings lexikalisch miteinander vergleichen geht mit strcmp(). Da muss man aber genau auf das Format aufpassen.

strcmp(str1, str2) gibt -1 zurück wenn das erste unterschiedliche Zeigen in str1 kleiner ist als in str2. 0 bei Gleichheit. Und 1 wenn str1 > str2

Das hier würde also gehen:

char str[] = "15:00:00";
int cmp = strcmp_P(str, PSTR("16:00:00"));

Liefert -1

Das hier liefert aber 1:

char str[] = "1:00:00";
int cmp = strcmp_P(str, PSTR("16:00:00"));

Da ':' = 58 und '6' = 54

Die Uhrzeit müsste also führende Nullen haben:

char str[] = "01:00:00";
int cmp = strcmp_P(str, PSTR("16:00:00"));

Liefert -1