Forum: Mikrocontroller und Digitale Elektronik 16F178x Uart Baudrate falsch


von Michael Ohlhorst (Gast)


Lesenswert?

Beim versuch die UART eines 16F1783 zum laufen zu bekommen habe ich 
genau die hälfte der berechneten Baudrate. Meine Taktfrequenz liegt bei 
32Mhz da aus der 16bit PWM die erwarteten 488Hz kommen scheint die PLL 
zu laufen. Die Werte für den Baudratenteiler sind aus der Tabelle im 
Datenblatt für 9600Baud raus kommen aber 4800Baud.
Hat jemand eine Idee für mich?


mfg
Michael

von TK (Gast)


Lesenswert?

Ja - es liegt an der falschen Parametrierung!
Da die USARTs bei den PICs fast immer den gleichen Aufbau haben, vermute 
ich mal, dass Du im Datenblatt die falsche Tabelle erwischt hast. Da 
gibt es nämlich zwei Konfigurationsmöglichkeiten - umschaltbar über ein 
Bit. Ich hab den Bitnamen jetzt nicht im Kopf - aber schau nochmal ganz 
genau hin.
Evtl. würde es auch helfen, deinen Code der Parametrierung zu posten.

Gruß
TK

von Michael_ohl (Gast)


Lesenswert?

In dem Fall sind es sogar drei Tabellen und ich bin zuerst auch darauf 
feingefallen und habe die falsche erwischt. Jetzt macht es aber nicht 
den Eindruck als könnte der Fehler da liegen, weil die anderen Tabellen 
auch keinen plausiblen Wert liefern. Es scheint mir eher das die PLL dch 
nicht läuft. Werde ich nachher noch mal Testen.

mfg
Michael

von Michael .. (gismi)


Lesenswert?

Dan bring mal etwas mehr informationen.
Wie initialisierst du die UART? Mit welchen Werten?
Wie hast du die 4800 Baud festgetellt?
Bist du mit deinen 32MHz sicher? Wie nachgeprüft?

von Michael O. (michael_o)


Lesenswert?

Die 4800-baud sind über Terra Term der Wert bei dem dass richtige 
rauskommt ;-)

Config Word:
__CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & 
_CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
    __CONFIG _CONFIG2, _WRT_OFF & _PLLEN_ON & _STVREN_OFF & _LVP_OFF

movlw  0xFF
movwf  OSCCON

Ich dachte ich hätte die PLL damit an, da ich mit dem OSSI auf 488Hz der 
16bit PWM am Ausgang gekommen war. Leider stellt sich das als 
Fehlmessung raus sind doch nur 244Hz und damit ist die PLL nicht an und 
der Prozessor läuft nur mit 16Mhz.
Ich habe jetzt nur kein Ahnung warum?


mfG
Michael

von Michael O. (michael_o)


Lesenswert?

Wer Datenblätter lesen kann ist doch Manchmal ganz klar im Vorteil ;-)

..the SCS bits in Config Word must be cleared to use the clock 
determined by FOSC in Configuration Words.

Damit habe ich mit FF in OSCCON die PLL wieder ausgeschaltet.


mfG
Michael

von sandbox (Gast)


Lesenswert?

Hast du das BRGH bit richtig gesetzt ? genau die Hälfte kommt in etwa 
hin wen das falsch gesetzt ist.

b.z.w. bin jetzt nicht ganz sicher ob es beim EUART genau so heist.

von Michael O. (michael_o)


Lesenswert?

Ja das hat mit einer "3" gestimmt aber wie gesagt PPL lief nicht wegen 
falschen OCCON Werten.

mfG

Michael

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.