BAudrate in Assembler einstellen

Gast #48513
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
Gast #48514
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 ?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.