In einem völlig anderen Projekt hatte ich den seriellen Port so eingerichtet, dass die ganzen Funktionen der Standard C Library den seriellen Port als Konsole verwenden.
So kann man z.B. puts() und printf() für Ausgaben, sowie fgets() und scanf() für Eingaben benutzen. Beispiel:
Wer diese PSTR() Sachen nicht kennt: Zeichenketten belegen doppelt Speicher (und zwar RAM und ROM), wenn man es nicht so macht. Die Funktion puts_P gibt eine Zeichenkette aus, die im Programmspeicher liegt, während puts vorraussetzt, dass die Zeichenkette im RAM liegt.Code:char buffer[100]; int main(void) { initserial(); while (1) { fgets(buffer,sizeof(buffer),stdin); if (strcmp_P(buffer,PSTR("help"))==0) { puts_P(PSTR("Can I help you?")); } } return 0; }
Schlecht: puts("Hallo");
Besser: puts_P(PSTR("Hallo"));







Zitieren

Lesezeichen