www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe bei RS232!


Autor: Mario K. (mario1989)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe folgendes Problem mit der RS232 Schnittstelle (PIC 16F88):

Obwohl meines Wissens nach der Assemblercode stimmen sollte, zeigt das 
Oszi (angehängt an den TX-Pin) rein gar nichts an. Wird das Programm 
gestartet, tut sich auch nichts. Im Debugmodus (Microchip ICD 2) kann 
ich mit der Watchfunktion von MPLab den gewollten Wert im TXREG sehen - 
jedoch nur nach dem Stoppen des debuggens.

Könnte bitte jemand den Assemblercode im Anhang überprüfen?!

Ich bin schon seit längerer Zeit auf der Suche nach einer Lösung, jedoch 
habe ich bis jetzt keinen Ansatz gefunden...

Mit freundlichen Grüßen

Mario

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wo ist der code?

Autor: Mario K. (mario1989)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
...oh, sorry :-)

lg Mario

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
set_tx    nop
    banksel  TXSTA
    bsf  TXSTA,5    ;activate transmission
    movlw  0x55
    movwf  TXREG    ;load value to transmit Reg

Was glaubst du macht dein Programm ab hier ?

    END

Autor: Mario K. (mario1989)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meiner Meinung nach wird hier das transmit enable Bit gesetzt (SPEN), 
der Wert ins TXREG geschrieben und dann müsste es beendet werden...

Vll hab ich mich auch fatal geirrt...

lg Mario

Autor: Mario K. (mario1989)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jedoch, wenn ich vor dem END zB. goto set_tx schreibe, funktioniert es 
trotzdem nicht. Irgendwie werden die Daten nicht übernommen...

lg Mario

Autor: Mario K. (mario1989)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Hat jemand einen Fehler finden können?!

lg Mario

Autor: Igor Metwet (bastel-wastel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du dir die Compiler-Warnung mal angeschaut?
Bei deinem Programm stimmt wohl was mit der Bankumschaltung nicht. TXREG 
ist in bank0. Bei der Stelle wo du den Wert in TXREG schreibst bist du 
aber auf bank1.

Autor: Mario K. (mario1989)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus!

Lag wirklich an der falschen RAM-bank!

Vielen Danke!

lg Mario

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.