ATMega16M1 wie lange dauert das aktivieren des CAN-Controllers?

OP #4042633
Lesenswert?
• ▲
▼
Hallo, ich habe in einem Quelltext gesehen das nach dem aktivieren des 
CAN-Controllers auf das Flag gewartet wird, das der CAN-Controller 
bereit ist. Ich habe im Datenblatt dazu nichts gefunden wie lange das 
ganze dauern soll da ich ungerne darauf polen will. Den Controller 
selber habe ich noch nicht sonst könnte ich das einfach mal über einen 
Ausgang und dem LA oder Oszi ausmessen. Hat vielleicht jemand 
Erfahrungen damit oder hat im Datenblatt etwas dazu gefunden.

http://www.atmel.com/images/doc8209.pdf
1
CANGCON = 0x02 ;   // enable CAN 
2
    
3
    while(!(CANGSTA & (1<<ENFIG)));   // wait until CAN bus being enabled 
4
}
Gast #4043095
Lesenswert?
• ▲
▼
Ja, interessant.

Gebraucht habe ich das noch nie, auch nicht beim 90CAN32.
Empfang passiert dann einfach.
Und bevor man mit einer Message-Box versucht zu senden bietet es sich 
sowieso an, per:
1
if(CANSTMOB & (1<<TXOK)) // fertig mit Senden?

abzufragen, ob die Message-Box bereit ist.

Dann läuft bei richtiger Programmierung auch der Rest des Programmes 
weiter wenn der CAN mal unterbrochen oder falsch terminiert ist.
OP #4043447
Lesenswert?
• ▲
▼
@Frank K.: Ich denke du hast recht. Es geht hier anscheinend nicht darum 
wie lange die Initilisierung des CAN-Controller nach dem Einschalten 
dauert, sondern einfach darum das man 11 rezessive Bits abwartet bevor 
man auf den Bus senden. Siehe End of Frame
http://upload.wikimedia.org/wikipedia/commons/5/5e/CAN-Bus-frame_in_base_format_without_stuffbits.svg

@Peter D.: nein es gibt keine Angabe im Quelltext dazu.

Habe natürlich schon vor nach dem Senden die Fehlerflags auszuwerten.

Habe heute Mittag mal ein Ticket bei Atmel eröffnet mal sehen was die 
dazu schreiben.

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.