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.