Einfaches Beispiel in C zur CAN-Programmierung

Gast #668852
Lesenswert?
• ▲
▼
Hallo, ich möchte demnächst meine erste Schaltung mit einem AVR nach den 
Tutorial hier aufbauen. Zusätzlich brauche ich einen CAN-Anschluss.

Hat jemand vielleicht schon einmal sowas für sich zum testen gemacht? 
(Ich bräuchte Schaltplan und Programm)

AVR durch Quarzoszillator getaktet, einen Eingang mit Taster.

Wenn der Eingang kommt, soll folgende CAN-Message gesendet werden:
ID: 520 | Length: 1 | Data[0]: 168

Beim Abfallen des Signals soll in Data[0]=255 stehen.

Ich weiss es ist für euch vielleicht sehr simpel aber ich bin 
Anfänger... Habe heute schon einmal im Forum geschaut, bin aber nicht 
klargekommen wie nun eigentlich eine Message über den BUS gesendet wird 
und Wo ich CAN_H und CAN_L schschließe (ich habe etwas von einem 
Transreciever gehört) Ich kenne aus meinen bisherigen Programmen nur, 
dass ich ID, Len und Data übertragen muss.

Vielleicht kann mir ja jemand helfen.
#669021
Lesenswert?
• ▲
▼
Hallo Maus,

schau z.B. mal hier: 
http://www.chip45.com/index.pl?page=Crumb128-CAN_Downloads&lang=de

Da gibts ein Board mit AT90CAN128 und auch die entsprechenden 
Code-Beispiele dazu.

Dies sollte sich leicht auf Deine einfache Anwendung ändern lassen.

Wenn Du Dich für eine Hardware entschieden hast, poste noch einmal dann 
kann man Dir auch weiterhelfen bzgl. der Programmierung.

Grüße
Hans-Josef
#669456
Lesenswert?
• ▲
▼
Hallo,

die AT90CANxxx kann man wohl nicht mehr mit einem Lötkolben löten. Daher 
ist es einfacher ein fertiges Board wie z.B. die Crumb128CAN-Variante 
von Chip45 zu nutzen. Dieses Board setzt Du auf eine Lochrasterplatine 
ergänzt noch den PCA82C250, sowie eine Spannungsversorgung und schon 
kanns losgehen. (Hier gibts ein USB-Interface noch mit dazu)

Du kannst natürlich auch ein einfaches Board mit einem kleineren ATMega 
nutzen und dieses mittels CAN-Baustein (z.B. SJA1000) und Transeiver 
erweitern. Geht auch, ist aber mehr Aufwand.

Letzte Möglichkeit eigenes Board routen, Ätzen, bohren und bestücken....

Wenn Du Deinen finanziellen Rahmen und Zeitrahmen festgelegt hast, 
kannst Du unter den Alternativen wählen.

Grüße
Hans-Josef

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.