Hallo Forumsgemeinde! Zunächst möchte ich mal meinen durchaus positiven Eindruck von diesem Forum kund tun. Ich finds super, wie sachlich und kollegial hier geholfen wird - ein Lob. Ich lese nun schon eine ganze Weile immer wieder fleissig mit und habe vor ettlichen Jahren schon einiges mit Mikroprozessoren und Mikrocontrollern gemacht (8032, 8051, Z80, 8085, 8086) jedoch alles in Assembler! Jetzt hats mich mal wieder in den Fingern gejuckt und ich habe mir ein STK500 und ein paar AVRs gekauft. Ich wollte mich mal ein wenig in C versuchen. Allerdings muss ich feststellen, dass ich kläglich scheitere :-( Ich wollte zu Beginn einfach nur ein wenig I/O über RS232 mit meinem PC machen. Dazu habe ich mir Peter Fleurys Library gezogen - finde diese eigentlich recht gut! Nach anfänglichen Problemchen habe ich das Ding doch zum Laufen bekommen. Ich kann Texte und Zeichen seriell an meinen PC senden. Allerdings gelingt es mir nicht, Zeichen vom PC zu lesen! Ich habe daraufhin auch die im ATMEGA8 Manual gezeigten Beispiele versucht - 100% identisches Verhalten!! Faktisch sendet der AVR Daten an den PC, der Rückweg geht aber nicht. Wie gesagt habe ich Peter Fleurys Library (und den Test) verwendet. Ich weiss, es ist schwer hier zu helfen aber hat jemand eine Idee?? Kabel ist OK (ich habe versuchsweise das Programmierkabel vom STK500 genommen mit identischem Verhalten). Zudem habe ich sowohl internen (1MHZ, 4MHZ) Takt als auch einen externen Quarz (4MHz) versucht - immer das selbe. AVR ist über die Pins "RX/TX" auf dem STK500-Board mit der seriellen Buchse verbunden. Danke & Grüsse Michael PS: Code ist zuhause, falls dieser benötigt wird poste ich morgen nochmal.
Hi, vermutlich ein Codefehler. Uploade mal den Code dann kann man diesen vielleicht schonmal ausschliessen.
Hallo Forumsgemeinde! Ich habe jetzt mal meinen Code im Anhang beigefügt. Vielleicht schaut es sich ja mal jemand an... Grüsse und ein schönes Wochenende Michael
Huhu Michael,
also ich hab mir den Code mal schnell auf mein Testboard geladen, und
das funktioniert soweit ich das auf die schnelle überblicken kann
einwandfrei.
Am Anfang werden die zwei Texte:
String stored in SRAM
String stored in FLASH
an den PC gesendet.
danach geht das Programm in eine Endlosschleife und schaut ob Zeichen
an die Serielle des uCs gesendet wurden. Wenn ja schaut er noch ob
irgend welche fehler aufgetreten sind und wenn nicht sendet er das
empfangene Zeichen wieder an den PC zurück.
Also wenn Du in deinem Terminalprogramm kein lokales Echo eingeschalten
hast solltest Du alles was Du tippst wieder im Terminalfenster sehen.
Hoffe das hilft erst mal weiter.
Wenn nicht solltest du die Aussage
>Faktisch sendet der AVR Daten an den PC, der Rückweg geht aber nicht.
mal etwas genauer definieren.
Grüßle Jochen
Häng doch an den Tx kanal deines PCPorts mal zum spass n oszi dran. wenn du da ein signal hast, dann geh weiter und mess ob aus dem RS232 wandler was rauskommt (der Rx kanal am µC) wenn da was an kommt weisst du schonmal dass es am µC liegt, ansonsten kannst du sagen ob es am PC oder am RS232 wandler liegt (den du vielleicht ja zerschossen hast.). MfG
Hallo! Zunächst mal herzlichen Dank, dass ihr euch die Mühe gemacht habt. @Jochen: So sollte das sein. @Thomas: Auf die Idee mit dem Oszi bin ich zwar auch schon gekommen, habe sie dann aber verworfen weil ich an das STK500 glaubte - naja, Kontrolle ist besser, werde heute Abend das Oszi mal dranhängen. Ich werde berichten! Grüsse aus Stuttgart Michael
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.