Re: Seriellen Port Initialisieren Kategorie: Progr. Assembler, TaskingTools, OS (von Thomas, http://www.tho-bai.de - 2.02.2005 0:32) | ||
Als Antwort auf Re: Seriellen Port Initialisieren von Thomas - 30.01.2005 22:11 | ||
| ||
Ich habe mitlerweile herausgefunden, das man den Pin P3.10 als Ausgang schalten muss, damit das Senden von Daten über die ASC0 funktioniert. Au�erdem muss dazu das Bit S0REN (Read Enable) zurück- gesetzt werden. Die Interrupt-Control-Flags habe ich nun standardmä�ig alle zurückgesetzt. Es funktionier aber immer noch nicht!!! Mein Code sieht nun folgenderma�en aus: ;Initialisierung DISWDT ;Watchdogtimer beenden MOV STKOV,#0FA00H ;Stackgrenzen initialisieren MOV STKUN,#0FC00H MOV SP,#0FC00H ;Stack-Pointer initialisieren MOV CP,#0FC00H ;Context-Pointer initilisieren BFLDL BUSCON0,#37H,#15H ;Buskonfiguration BFLDH BUSCON0,#12H,#00H BFLDL SYSCON,#04H,#04H ;Systemkonfiguration BFLDH SYSCON,#0FFH,#00H EINIT ;Ende der Initialisierung EXTR #1 ;extended Register MOV DP1L,#0FFh ;P1L auf Ausgang - LEDs MOV S0CON,#8011h MOV S0EIC,#0 MOV S0RIC,#0 MOV S0TIC,#0 MOV S0BG,#01Fh BSET P3.10 BSET DP3.10 MOV P1L,#0FFh ;LEDs setzen init_byte: JNB S0RIR, init_byte ;Auf Kommando-Byte warten MOV R7,S0RBUF ;Kommando-Byte in R7 sichern BCLR S0RIR ;Request-Flag wieder zuruecksetzen MOV R0,#10 ;Sendebyte BCLR P1L.6 ;LED BCLR S0REN ;Lesen deaktivieren ;w0: JNB S0TIR,w0 ;würde nie eintreten... MOV S0TBUF,R0 ;Byte senden wait1: BCLR P1L.7 ;LED JNB S0TIR,wait4 ;warten, bis Daten gesendet wurden BCLR S0TIR MOV P1L,#0CCh ;LEDs endl: JMP endl ;Endlosschleife Hat irgendjemand noch eine Idee? Gru� Thomas Meine Seite: http://www.tho-bai.de | ||
Antwort schreiben Antworten: Re: Seriellen Port Initialisieren (von André H. - 13.02.2005 11:30) |