Forum: Mikrocontroller und Digitale Elektronik Hilfe bei RS232!


von Mario K. (mario1989)


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

von Gast (Gast)


Lesenswert?

wo ist der code?

von Mario K. (mario1989)


Angehängte Dateien:

Lesenswert?

...oh, sorry :-)

lg Mario

von holger (Gast)


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

von Mario K. (mario1989)


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

von Mario K. (mario1989)


Lesenswert?

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

lg Mario

von Mario K. (mario1989)


Lesenswert?

Hallo!

Hat jemand einen Fehler finden können?!

lg Mario

von Igor M. (bastel-wastel)


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.

von Mario K. (mario1989)


Lesenswert?

Servus!

Lag wirklich an der falschen RAM-bank!

Vielen Danke!

lg Mario

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.