Forum: Mikrocontroller und Digitale Elektronik PIC EUSART Interface - Clock ohne daten


von Thomas Schattenkirchner (Gast)


Lesenswert?

Hallo zusammen,
ich wollte grade die EUSART Schnittstelle des PIC12LF1840T39A als 
Synchronen Uart verwerwenden jedoch krieg ich als Signal nur CLOCK und 
die datenleitung ist immer High. Weiß jemand an was das liegen könnte?
1
void init_eusart (void){
2
    TXCKSEL = 1;
3
    RXDTSEL = 1;
4
5
    SPBRGL = 19;//100k baud @8mhz
6
    SYNC=1;
7
    SPEN = 1;
8
    CSRC=1;
9
10
    SREN = 0;
11
    CREN = 0;
12
    TXEN=1;    
13
    
14
15
16
    /*
17
    GIE = 1;
18
    RCIE = 1;
19
    TXIE = 1;
20
    PEIE = 1;
21
    ei();
22
    */
23
   
24
    while(1){
25
        if(TXIF)
26
         TXREG = TXREG + 0x01; //Zählt nur bis 2???
27
    }
28
}

Vielen dank schon mal im Vorraus

Viele Grüße

Thomas

von Michael H. (morph1)


Lesenswert?

Datenrichtung - TRISx - richtig gesetzt?

Und die Sache mit dem TXIF würd ich mir nochmal überlegen, sicher, dass 
das so funktionieren kann?

von Chris B. (dekatz)


Lesenswert?

Richtig, würde ich auch sagen.

....."Polling TXIF immediately following the TXREG write will return 
invalid results.".....
(Stammt jetzt aber nicht aus dem DB des verwendeten Controllers!!)

Würde es mit " while( !TXSTA.TRMT ); " versuchen

von Thomas Schattenkirchner (Gast)


Lesenswert?

Vielen Dank für die schnelle antwort. Die Pin als Ausgang zu 
Configurieren bringt keine Änderung. TXIF sollte 1 sein wenn der RXREG 
wieder beschreibbar ist.

von Thomas Schattenkirchner (Gast)


Lesenswert?

Dir auch vielen dank für die schnelle antwort. Hab ich auch versucht ... 
bringt nix ... ich hab nur eine Clock mit 100khz und die Datenleitung 
ist immer High.

von Chris B. (dekatz)


Lesenswert?

Obwohl es bei Outputoperationen keine Rolle spielen sollte!!??:
Aber sind die Portpins auch auf DIGITAL geschaltet? - Default sind diese 
normalerweise als ANALOG-Eingang definiert (Pin 7,6,5,und 3 haben auch 
Analogfunktionen!)

von Thomas Schattenkirchner (Gast)


Lesenswert?

Vielen dank! War zwar sehr merkwürdig da eigentlich die Clock leistung 
auf analog gestellt war. Aber jetzt gehts.

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.