Hallo!
Meine C-Kenntnisse sind leider schon etwas eingerostet und bitte euch
daher um Hilfe:
Programmiere gerade einen Atmega88 und will eine simple Zeichenabfrage
programmieren:
Programm verlangt nach Eingabe und gibt die eingegebene Zahl dann wieder
aus....
Das dürfte doch so aussehn :
COMinit_void();// initialisiert Schnittstelle
int anzahl;
printf ("\nBitte eine Integer-Zahl eingeben : ");
scanf ("%d",&anzahl);
printf ("\n\nSie gaben %d ein\n",anzahl);
Hinweis:
Ich verwende einen FT232 der mir einen Com-Port am PC emuliert.
Angeschlossen ist das ganze über USB. Mittels Terminal empfange/sende
ich die Daten. Momentan bekomme ich nur "Bitte eine Integer-Zahl
eingeben" als Endlosschleife zurück, Eingaben werden ignoriert.
COMinit_void() initialisiert die Schnittstelle, hier stehen auch die
Funktionen getchar und putschar drin. Die Initialisierung dürfte klappen
(ist nicht von mir sondern von nem erfahrenen Programmierer).Hab mit
Oszi auch schon gemessen, ob Daten am Controller ankommen,was der Fall
ist.
Kann mir bitte jemand weiterhelfen?
Vielen Dank!!
ML
Überprüfe, ob COMinit_void() auch den Empfangsteil des UART aktiviert. Vergleiche: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Empfangen
ja ist aktiviert, habs auch nochmal überprüft! Was mich auch etwas stutzig macht ist die Tatsache, dass das Senden nach dem Befehl scanf nicht aufhört und er auf keine Eingabe wartet... Ich kanns mir nicht erklären...:(
>Momentan bekomme ich nur "Bitte eine Integer-Zahl >eingeben" als Endlosschleife zurück Dann macht der uC bei scanf() vermutlich ne Bauchlandung und startet neu.
Wie würdet ihr denn diese Aufgabe lösen? Ich komm da einfach nicht weiter.. Vielen Dank!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.