mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART Frage


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Habe einen M8515, welchen ich über rs232 "befehle" geben will (bzw.
status auslesen). es kommen aber keine daten an. xtal = 7.3728 mhz.
haben einen verdacht...
um etwas arbeit zu sparen, habe ich den max232 weggelassen und die
beiden pins mit den "RS232 spare" pins auf dem stk verbunden. wie
wirk es sich aus wenn stk und meine schaltung (auf lochraster) an 2
getrennten netzteilen hängen?? könnte es daran liegen?

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die Masse beider Netzteile verbunden? Wenn nicht, mach das
mal...

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und was auf der einen Seite RX auf den anderen TX ist, ist wohl auch
klar.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hubert.G
ja sicher ist das klar

masse verbinden hatte ich auch mal getestet. es kamen zwar daten an,
aber eben nicht das was ich erwartet hatte.

ablauf ist eigentlich folgender (ziemlich einfach)
1. erzeuge ich einen string im ram im format HH:MM:SS A: 000 B: 000
2. pointer auf 1. zeichen setzen
3. zeichen lesen und in UDR schieben
4. TX-Comlete interuppt läd das nächste zeichen und schiebt es in udr
5. wenn zeichen = 0x0D => letzes zeichen (beim nächsten ISR durchlauf
wird nichts mehr gesendet

ich bin eigentlich davon ausgegangen, daß mit dem 7.3728 mhz quarz
solche probleme nicht auftreten

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> masse verbinden hatte ich auch mal getestet.

Aber verbinden mußt du die schon, sonst geht mal überhaupt nicht. Es
kam dann ja wohl auch offensichtlich was an, besser als nichts :)

Zeig mal deine UART-Initialisierung. Welche Programmiersprache? Sicher,
daß der String auch im RAM liegt?

Autor: Sebastian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
UART-Initialisierung ist ja ziemlich kurz:

UART_INIT:
  ldi  tmp,  47
  out  UBRRL,  tmp
  ldi  tmp,  (1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN)
  out  UCSRB,  tmp
ret

string liegt im ram

ich weiß... schlecht (oder gar nicht) kommentiert... nur der
vollständigkeit halber

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.