Forum: Mikrocontroller und Digitale Elektronik Einstellungen am PC fuer UART?


von Johannes R. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich hab hier einen AT90S8515 in einem STK500, den ich mit dem AVR
Studio 4 programmiere. Jetzt wollte ich mit dem UART spielen (siehe
angehaengter Code, falls das eine Rolle spielt).
Kurze Zusammenfassung, was das Programm tun sollte: Interrupt-Handler
fuer UART Receive, dieser schreibt das Byte auf PORTB (8 LEDs) und
sendet es auch zurueck an den UART.
Eigentlich hab ich erwartet, dass (1) die LEDs ein wenig flackern
wuerden und (2) ich im entsprechenden Programm am angeschlossenen
Computer (sowohl HyperTerminal als auch MTTY probiert) die eingegebenen
Zeichen wieder zu sehen bekomme.

Das STK500 ist bei der Programmausfuehrung mit dem mitgelieferten
seriellen Kabel am Computer angeschlossen, selbstverstaendlich der
RS232 Spare Port. Habe den am Board auf mit PD0 und PD1 verbunden.

Da mir sonst nichts einfallt, vermute ich also, dass ich mich bei den
computerseitigen Einstellungen vertan habe. Was sollte ich da bei
Parity, Stop Bits und Flow Control eingeben?

Ich freue mich auf Eure Hinweise und Ratschlaege :)
Danke schon einmal und schoene Gruesse,
johannes

von Benedikt (Gast)


Lesenswert?

Verbinde Pin 7 und 8 des COM Ports (am PC), außerdem Pin 2 und 3
Jetzt müsste der gesendete Wert wieder empfangen werden.

Standarteinstellungen:
Kein Parity, 1 StopBit, kein Flow Control

von Johannes Richter (Gast)


Lesenswert?

Hallo Benedikt,

Dank Dir fuer Deine Antwort. Allerdings bin ich mir nicht ganz im
Klaren darueber, was Du meinst. Ich habe ja ein fertig konfektioniertes
Kabel zwischen PC und STK500, das (lt. Beitraegen in diesem Forum, die
ich mit einer Suche fand) fuer diese Kommunikation geeignet sein
sollte.

Habe es jetzt nocheinmal mit den von Dir genannten Einstellungen
probiert, allerdings leider auch ohne Erfolg.

Gruesse,
johannes
PS: Natuerlich freue ich mich auch ueber Kommentare zu dem kurzen
Programm, die sich nicht direkt auf mein konkretes Problem beziehen
(Stilfehler u.dgl.) :-)

von Forumsdrachen (Gast)


Lesenswert?

Die LEDs sollten eigentlich funktionieren, zurück gesendet wird mit dem
Programm natürlich nichts, da "transmit" niemals aufgerufen wird.

von Johannes Richter (Gast)


Angehängte Dateien:

Lesenswert?

Oh, tatsaechlich. Danke fuer den Hinweis, Forumsdrachen. Da hab ich wohl
uebersehen, ein rcall einzufuegen.
So, habe es jetzt mit dem rcall TRANSMIT probiert, aber es tut sich
immer noch nichts.

Kann es sein, dass die LEDs zwar blinken, aber eben so schnell/kurz,
dass ich es nicht sehen kann? (habe zwar auch probiert, eine groessere
Datei an die serielle zu senden, aber trotzdem nichts gesehen)

Gruesse,
johannes

von Johannes Richter (Gast)


Angehängte Dateien:

Lesenswert?

So, habe jetzt einen weiteren Fehler in meinem Code gefunden: Die
Interrupt-Tabelle hab ich naemlich einfach von einem Tutorial
uebernommen, in dem ein AT90S4433 verwendet wird, ich verwende aber
o.g. AT90S8515. Habe die Interrupte-Tabelle jetzt mit den Angaben aus
dem Datenblatt korrigiert. Leider tut sich aber immer noch nichts.

Weitere, hier eher nebensaechliche Aenderung: Hab die drei SBIs durch
zwei Befehle ersetzt. Naja. ;)

Gruesse und danke schon fuer weitere Ideen!
johannes

von Johannes Richter (Gast)


Lesenswert?

So, jetzt hab ich das Problem doch noch selbst geloest. Es lag
natuerlich doch am AVR-Programm ;)

Ploetzlich stellte ich fest, dass die Leuchtdioden nach einem Reset eh
das erste Zeichen, das ich vom PC aus schicke, ausgeben. Wieso ich das
vorher nicht bemerkt habe bzw. wieso es vorher nicht so war, kann ich
jetzt nicht nachvollziehen.

Der Fehler im Code: Ich schrieb
sbis UCR, UDRE
statt
sbis USR, UDRE
, habe also ins Controll- statt ins Status-Register geschaut. Tjaja,
wenn man Code von irgendwo uebernimmt und veraendert, obwohl man nicht
weiss, was man tut ;-)

Danke trotzdem fuer Eure Bemuehungen!
Gruesse und schoenen Abend,
johannes

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.