Hallo, ich habe gerade erst angefangen mit Mikrocontrollern zu "spielen" und habe versuche ein UART echo hinzubekommen. Die initialisierung der UART funktioniert soweit (wenn ich einen string mit puts() sende kommt der auch im terminal an) aber für das echo muss ich ja erstmal vom PC was zum Mikrocontroller senden damit der das dann empfängt und zurücksendet. Meine (eventuell etwas blöde) Frage ist jetzt, wie mache ich das? Kann ich in einem beliebigen Terminal am PC einfach eine Taste drücken und das Zeichen wird dann zum angeschlossenen Mikrocontroller gesendet? Wenn nicht, wie sende ich dann etwas vom PC zum Mikrocontroller? Danke schonmal für eure Tipps Tom
Ja, so ist es. Bei WIN ist Hyperterminal dabei, 8 N 1 sowie Baudrate einstellen und ausprobieren. Ansonsten google mal nach Tera Term, sehr gutes freies Terminalprogramm.
Hallo, danke erstmal für die Antwort, es ist also doch wie ich dachte, wenn vom uC eine Verbindung zum PC besteht und das was der uC sendet im Terminal angezeigt wird, reicht es eine Taste auf der Tastatur zu drücken um etwas vom PC zum uC zu senden. Leider empfängt mein Programm (siehe Anhang) nichts. Es sendet "test" ans Terminal wenn ich eine Taste drücke, aber ich bekomme kein echo von dem was ich vom PC zum uC sende. Was ich bei diesem Programm außerdem erwarten würde ist das es in der while Schleife beim Emfangen "hängen bleibt" bis ein Zeichen kommt. Es dürfte also garnicht auf meinen Tastendruck reagieren, tut es aber. Wäre nett wenn sich das mal jemand ansehen könnte und mir auf die Sprünge hilft was ich hier falsch mache. Vielen Dank schonmal Tom
dein
1 | empf=Usart_Rx(); |
2 | uart_putc(empf); |
ist ausserhalb der "while(1)" schleife, da kommt dein programm natürlich nie hin.
blöder Fehler von mir, manchmal sieht man den Wald vor lauter Bäumen eben nicht. Die beiden Zeilen habe ich jetzt mit in die while(1) schleife rein genommen. Jetzt reagiert das Programm schonmal nicht mehr auf den Tastendruck (wie erwartet). Leider wird trotzdem nach wie vor nicht das Zeichen was ich auf der PC-Tastatur drücke vom uC zurückgesendet. Genauer genommen es wird garnichts zurückgesendet, da das senden ja an sich funktioniert denke ich das das empfangen aus irgend einem Grund nicht klappt. Ich hoffe es ist nicht wieder so ein blöder Fehler den ich übersehen habe. Hat jemand eine Idee warum das Empfangen nicht geht? Tom
hi again, versuch's doch mit debuggen (single step), dann siehst du ja, wo's hängt. vielleicht hast du was bei der initialisierung vergessen? kommen signale am rs232-rx pin an (mit 'nem oszi kannstes sehen) eventuell beispielcodes ansehen, gibt's bestimmt: http://www.google.de/search?q=ucsra+udre+udr+filetype%3Ac sorry, ich kenne deinen controller leider nicht und kann dir keinen besseren tip geben.
Also an Messtechnik habe ich leider nicht viel da, einen oszi kann ich mir nicht leisten, aber ne LED sollte es doch vielleicht auch tun um zu sehen ob da überhaupt was ankommt oder? Der Controller ist ein Atmega8 und der code den ich nutze stammt von einem beispiel was ich im netz gefunden habe, nur die variablen habe ich umbenannt der rest ist eigentlich kopiert, deswegen versteh ich auch nicht warum es nicht geht.
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.