Forum: Mikrocontroller und Digitale Elektronik UART


von Gre B. (stabilo)


Lesenswert?

wer kann mir bei der interpretation des Codes weiterhelfen
und auch sagen wie die Baudrate 12 zustandekommt
handelt sich um den pic 30f6012

#include "p30f6012.h"
#include "uart.h"
#include "math.h"

void DISPLAY_Init(void)
{

  CloseUART1();  // <- UART Modul abschalten.

  unsigned int U1MODEvalue, U1STAvalue, baudvalue;

  U1MODEvalue =   UART_EN & UART_IDLE_CON &
          UART_DIS_WAKE & UART_EN_LOOPBACK &
          UART_DIS_ABAUD & UART_NO_PAR_8BIT &
          UART_1STOPBIT;

  U1STAvalue =   UART_INT_TX_BUF_EMPTY &
          UART_TX_PIN_NORMAL &
          UART_TX_ENABLE & UART_INT_RX_3_4_FUL &
          UART_ADR_DETECT_DIS &
          UART_RX_OVERRUN_CLEAR;

  baudvalue = 12;  // <- Baud Rate auf 19200 Bits per Second festgelegt.

  OpenUART1(U1MODEvalue, U1STAvalue, baudvalue);

von Rahul (Gast)


Lesenswert?

Kapitel 16.8 auf Seite 109 bzw. Equation 16-1 sollte dir die Zahl
erklären können...
Das Datenblatt ist dein Freund.
baudvalue nennt sich in der Formel "BRG".

von Gre B. (stabilo)


Lesenswert?

wo wäre das kapitel zu finden
in den manuals des pics?

von Rahul (Gast)


Lesenswert?

>in den manuals des pics?
ja...
http://ww1.microchip.com/downloads/en/DeviceDoc/70117e.pdf

oder in den "gelben Seite"...

von Gre B. (stabilo)


Lesenswert?

danke für deine unterstüzung

leider komme ich nicht auf das ergebnis

FCY 4 MHZ TCY 250 ns
Baudrate 19200

Baud Rate =FCY/(16*(BRG+1)was bedeutet die eins

von Olaf (Gast)


Lesenswert?

Ereigniskarte

Gehe direkt in den Mahteuntericht der Schule.
Begeben sie sich direkt dorthin, nehmen sie
nicht die Abkuerzung ueber die Microntroller-
programmierung.


Oh..man was bedeutet die eins....ich fall vom Hocker.

Olaf

von Gre B. (stabilo)


Lesenswert?

könnten sie mir das dennoch kurz eräutern
wären ihnen sehr dankbar

steht die eins für ein zusätliches bit ich habe keine ahnung

von daniel wolf (Gast)


Lesenswert?

also die 1 ist eine 1
wie 1+1=2
nix mit bit, byte,  schnitzelwegga oder kartoffelsack
keine einheit ist nun mal die zahl als solches.....

nix für ungut, danie

von Rahul (Gast)


Lesenswert?

Die eins (1) steht dort, weil der für das UART zuständige Timer von 0
bis BRG zählt (und dann bei 0 wieder anfängt).

Wieviele Timerschritte sind das dann?

Am besten formst du die Gleichung mal nach dem gesuchten (BRG) um
(Algebra sollte helfen...).

Vielleicht findest du auch ein paar Beispiele, wo alle drei Zahlen
angegeben sind (Atmel hat in seinen Datenblättern meist eine Tabelle
mit gängigen Oszillator-Frequenzen, Baudraten und den dazugehörenden
Teilern)

von Rahul (Gast)


Lesenswert?

@Leute, die Mathe-Unterricht empfehlen:
Für unqualifizierte Kommentare bin immer noch ganz alleine ICH
zuständig! ;)

von Gre B. (stabilo)


Lesenswert?

OK
BRG=FCY/16*BaudRate-1

BRG=4*10^6/(16*19200)-1

BRG=12

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.