Forum: Mikrocontroller und Digitale Elektronik BAudrate in Assembler einstellen


von Olliundercover (Gast)


Lesenswert?

Wie stelle ich die Baudrate (9600) bei 4 MHz ein. Nutze ein
Pic16f84a???
Habe im Netz ein Quelltext gefunden da wird die Baudrate so ermittelt:

clockrate             EQU .4000000            ;Xtal value
fclk                  EQU clockrate/4
baudrate              EQU ((fclk/.9600)/3-2)  ;9600 is the baud rate


Steige jedoch nicht dahinter was in diesen drei Zeilen passiert.
Hatt jemand eine erklärung oder ein Link wo man mehr info zu Baudraten
einstellen in Assembler findet. Danke
OLLI

von Thorsten (Gast)


Lesenswert?

> clockrate             EQU .4000000
Definition der Quarzfrequenz

> fclk                  EQU clockrate/4
Der PIC teilt den Takt intern nochmal durch 4, somit hast du 1MHz, d.
h. ein Befehl benötigt 1us (bzw. 1/fclk us) zum abarbeiten.

> baudrate              EQU ((fclk/.9600)/3-2)Wenn du nun fclk durch
die gewünschte Baudrate teilst, kriegst du die Anzahl der Takte, die
bei der seriellen Übertragung für ein Bit benötigt werden. Die Division
durch 3 und Subtraktion von 2 kommen sicher von irgend einer
delay-Funktion.

Wenn du aus deinem Quelltext auch die Übertragunsroutine benutzt,
kannst du das alles doch direkt übernehmen. Must nur noch deine
Quarzfrequnz und gew. Baudrate einsetzen.

War das verständlich ?

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.