www.mikrocontroller.net

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


Autor: Johannes R. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes Richter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.) :-)

Autor: Forumsdrachen (Gast)
Datum:

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

Autor: Johannes Richter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes Richter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes Richter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.