AVR UART im SPI Mode

Gast #2428738
Lesenswert?
• ▲
▼
Hallo zusammen,

ich versuche gerade den UART eines AVR als SPI zu konfigrieren. Ich 
nutze dazu einen Beispielcode, um mich in das Ganze einzuarbeiten.

Ich komme bei der Einstellung der Baudrate noch nicht ganz durch.

Allgemein wird eine externe Clock verwendet (20MHz)

In dem Beispielcode steht nun folgendes:

UBRR1= 3;  // Freq_SPI = Freq_CPU / (2 * UBBR1) - 1 --> 2MHz

Ich komme somit auf  Freq_SPI 3.3e6 Hz. Ich komme dann mit dem Kommentar 
2MHz nicht so ganz klar.

Bei UBRR1 = 3; habe ich doch eine SPI Baud von 250KHz richtig? Da gilt 
doch die Formel aus dem Datenblatt:

UBRR= f_OSC / (2*BAUD) - 1


Oder bin ich da total auf dem Holzweg?

Grüße

Steffen
Gast #2428757
Lesenswert?
• ▲
▼
Also bei 16MHz sieht das so aus (gemessen)

 UCSR1A = (1<<U2X1);
// UBRR1 = 0x0000;   // 8Mbps       @16Mhz F_CPU
// UBRR1 = 0x0001;   // 4Mbps
// UBRR1 = 0x0002;   // 2.66Mbps
// UBRR1 = 0x0003;   // 2Mbps
 UBRR1 = 0x0007;   // 1Mbps
Gast #2428773
Lesenswert?
• ▲
▼
Nachtrag:

Hab gerade gesehen das das hier beim USART als SPI nichts bringt:

 UCSR1A = (1<<U2X1);

>UBRR1= 3;  // Freq_SPI = Freq_CPU / (2 * UBBR1) - 1 --> 2MHz

Im Datenblatt steht aber:

Freq_SPI = Freq_CPU / (2 * (UBBR1 + 1))

Und so kommt das auch hin.

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.