USART Baudrate

Kann man auch eine variable baud rate beim mega 16 setzen? wenn ja wie?

Ich benutze basic und habe volgenden code dafür gemacht er funktioniert 
aber nicht.

   If Pind.4 = 1 Then
      $baud = 115200
   End If

   If Pind.4 = 0 Then
      $baud = 56200
   End If

kann mir wer helfen?

bedanke mich im vorraus
@ Hans-jürgen Herbert (hjherbert)

>(F_CPU  BAUD  16) muss eine Zahl ergeben deren Nachkommastellen < 0.03
>oder > 0.97 sind.

Unsinn. Wenn als UBRR ein Wert von 99,5 rauskommt und ich auf 100 oder 
99 runde, ist der Fehler immer noch kleier 1% und damit im grünen 
Bereich. Der relative Fehler durch Rundung darf nicht grösser als 1% 
werden. Die oben stehende Aussage ist mathematisch/technisch falsch.

MFG
Falk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 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.