Forum: Compiler & IDEs ATMEGA8 + RS232


von Michael Schaller (Gast)


Lesenswert?

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.

von Dirk (Gast)


Lesenswert?

Hi,

vermutlich ein Codefehler. Uploade mal den Code dann kann man diesen
vielleicht schonmal ausschliessen.

von Michael Schaller (Gast)


Angehängte Dateien:

Lesenswert?

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

von Jochen (Gast)


Lesenswert?

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

von Thomas (Gast)


Lesenswert?

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

von Michael Schaller (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.