Midi - Baud - PIC

OP #1149148
Hi!

Eine kleine Frage...

Also ich möchte bei einem PIC16F887 mit 20Mhz taktung eine baud von 
31,25Khz einstellen habe aber keine Ahnung wie..
Habe dem Datenballte entnommen, dass es "vorgefehrtigte" Baud gibt die 
man über bitsetzten einstellen kann aber für meine nicht...

Jetzt wollt ich fragen ob mir jemand helfen kann, welche Bit ich setzten 
muss um bei 20MHz eine Baud von 31,25 Khz bekomme...
Die Frage ist für mich seeehr wichtig und ich würde mich über hilfe 
freuen!!

Tausend dank und liebe grüße

Max Berg
#1149170
Aus Datenblatt Seite 163:
Baud = Fosc/[64*(n+1)]
das Ganze nach n aufgelöst:
n = Fosc/(64*Baudrate) - 1

n = 20000000/(64*31250) - 1 = 9

Also:
SYNC = 0
BRG16 = 0
BRGH = 0
SPBRG = 9

Wenn das Ganze aber synchron laufen soll (ist MIDI synchron?), dann 
sieht es so aus:

Baud = Fosc/[4*(n+1)]
das Ganze nach n aufgelöst:
n = Fosc/(4*Baudrate) - 1

n = 20000000/(4*31250) - 1 = 159

Also:
SYNC = 1
BRG16 = 0
BRGH = 0
SPBRG = 159

Alles klar?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.