AVR Mikrcontroller

Gast #4326516
Lesenswert?
• ▲
▼
MArkus S. schrieb:
> Rudolph schrieb:
>> 500kBit @ 16MHz? -> CANBT1 = 0x02, CANBT2 = 0x0c, CANBT3 = 0x37
>
> Ich beschäftige mich zufälligerweise ebenfalls gerade mit diesem Thema.
>
> Was genau muss ich mit den von dir angegeben Registern machen?

Im Ernst? Wie wäre es denn damit, da die Werte rein zu schreiben?

Etwa so:
1
// setup für 500 kBit/s mit 16 MHz Quarz
2
CANBT1 = (1<<BRP0);
3
CANBT2 = (1<<PRS2) | (1<<PRS1);
4
CANBT3 = (1<<PHS21) | (1<<PHS20) | (1<<PHS11) | (1<<PHS10) | (1<<SMP);

Einfache Beispiele gab es hier im Forum schon genug, die Suche nach 
"90CAN" oder auch "16M1" sollte weiter helfen.

> Außerdem habe ich eine Clock von 14,7 MHz. Ändert sich dann was?

Ja, dafür gibt es dann aber auch kein Beispiel im Datenblatt.
Aber wie man das ausrechnet ist ja auch angegeben.

Gibt es irgend einen Grund, einen Quarz von 14,7 MHz einzusetzen?
UART Baudrate wird es ja eher nicht sein, den Fehler bei 16 MHz kann man 
vernachlässigen, vor allem wenn da noch ein UART-USB Wandler mit dran 
hängt.

Und der CAN hat auf jeden Fall die höheren Anforderungen an den Takt, 
also einfach mal 16 MHz Quarz einbauen und dabei auch die für den Quarz 
passenden Kondensatoren zu verwenden könnte helfen.
#4326571
Lesenswert?
• ▲
▼
Rudolph schrieb:
> // setup für 500 kBit/s mit 16 MHz Quarz
> CANBT1 = (1<<BRP0);
> CANBT2 = (1<<PRS2) | (1<<PRS1);
> CANBT3 = (1<<PHS21) | (1<<PHS20) | (1<<PHS11) | (1<<PHS10) | (1<<SMP);

OK super das hat mir schonmal weitergeholfen.
Ich verstehe auch die einzelnen Begriffe (BRP,PRS,...). Jedoch habe ich 
noch nicht verstanden, wie du da genau die Bits setzt?
Wärst du so freundlich und könntest mir das nochmal kurz erläutern?
Gast #4326812
Lesenswert?
• ▲
▼
MArkus S. schrieb:
> Wie ist das zu verstehen bzw. für welches entscheide ich
> mich da?

So wie ich das verstehe sind das einfach nur zwei verschiedene Wege um 
auf die letztlich gleiche Konfiguration zu kommen.

Für 500kBit@16MHz benutze ich die obere Konfiguration.
Warum? Weiss ich nicht mehr, vor Jahren mal ausgesucht, läuft. :-)

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.