mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Can einstieg


Autor: ohne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,
zu aller erst möchte ich mich für dieses Forum bedanken.
Ich interessiere mich seit längeren für Can Bus und habe daher Bücher 
besorgt und gelesen.
Nun möchte ich den Schritt wagen und selbst was mit dem Canbus anfangen.
Bis jetzt war bei allem was ich in der Mikrocontroller Welt getan habe 
ein Stück Code den ich ihr gefunden habe das Fundament! Dieses Fundament 
habe ich dann versucht zu verstehen und weiter gebaut!
Zum Thema Can finde ich nichts. Nun möchte ich in die Runde fragen ob 
jemand ein solches Fundament für mich hätte und es mir zur Verfügung 
stellt?
Habe die Lib von Kreativen Chaos versucht aber ich schaffe es nicht 
unter Atmel Studio7 einzubinden!
Als Hartware habe ich eine Platine mit at90can128 und einen PCAN-USB 
inklusive Software

Danke für die Hilfe

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ohne schrieb:
> Zum Thema Can finde ich nichts. Nun möchte ich in die Runde fragen ob
> jemand ein solches Fundament für mich hätte und es mir zur Verfügung
> stellt?

Such mal nach "Arduino MCP2515". Da findest du mehr als genug.

Autor: Christian Kreuzer (christian_rx7) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der LPC11C24 ist sehr beliebt und es gibt im dazugehörigen LPCioen Paket 
Beispielcode für CAN (für das LPC11C24 LPCXpresso board passend).
Christian_RX7

Autor: Erwin D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian K. schrieb:
> Der LPC11C24 ist sehr beliebt und es gibt im dazugehörigen LPCioen Paket
> Beispielcode für CAN (für das LPC11C24 LPCXpresso board passend).
> Christian_RX7

Das wird ihm bei seiner Hardware nicht viel nützen.

ohne schrieb:
> Als Hartware habe ich eine Platine mit at90can128 und einen PCAN-USB
> inklusive Software

Und für den AVR gibt es auch viele Möglichkeiten und Bibliotheken. Setze 
ich selbst ein, auch mit verschiedenen AVRs (AT90CAN128, ATmega88, 
ATmega2560...). Alles völlig problemlos. Da muß man nicht unbedingt auf 
einen anderen µC umsteigen.

Andererseits ist es auch nicht schlimm, wenn man verschiedene 
Plattformen kennen lernt :-)

Autor: Rudolph R. (rudolph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ohne schrieb:
> Zum Thema Can finde ich nichts.
> Als Hartware habe ich eine Platine mit at90can128

Dann such noch mal, unter "90CAN" findet sich hier so einiges.

Autor: Hilfreich? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: asdf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hilfreich? schrieb:
> http://www.kreatives-chaos.com/artikel/can

Ähmmm:
ohne schrieb:
> Habe die Lib von Kreativen Chaos versucht aber ich schaffe es nicht
> unter Atmel Studio7 einzubinden!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuche nicht, irgendwelchen Code als großen unverstandenen Block zu 
übernehmen.

CAN ist ganz einfach gestrickt.
Zuerst muß man die Timings einstellen, d.h. die Bitzeiten. Da gibt es in 
der Regel fertige Beispiele im Datenblatt, die man einfach übernehmen 
kann.

Und dann stellt einfach der Sender ein Paket in ein MOB (Message Objekt) 
und warten auf den Interrupt, daß es gesendet wurde.

Der Empfänger initialisiert ein MOB mit dem Identifier, auf den er 
warten will, gibt es zum Empfang frei und wartet auf den Interrupt, daß 
was empfangen wurde. Dann liest er das empfangene Paket aus und macht 
was damit.

Autor: ohne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:
> Versuche nicht, irgendwelchen Code als großen unverstandenen Block zu
> übernehmen.
>
> CAN ist ganz einfach gestrickt.
> Zuerst muß man die Timings einstellen, d.h. die Bitzeiten. Da gibt es in
> der Regel fertige Beispiele im Datenblatt, die man einfach übernehmen
> kann.
>
> Und dann stellt einfach der Sender ein Paket in ein MOB (Message Objekt)
> und warten auf den Interrupt, daß es gesendet wurde.
>
> Der Empfänger initialisiert ein MOB mit dem Identifier, auf den er
> warten will, gibt es zum Empfang frei und wartet auf den Interrupt, daß
> was empfangen wurde. Dann liest er das empfangene Paket aus und macht
> was damit.

So wie du es schreibst klingt das einfach!
Aber wenn ich mir das Datenblatt erscheint es mir doch recht 
umfangreich!
Ich war es bis jetzt immer gewohnt mit einem Beispiel zu starten!
Danke für deine Zusammenfassung und danke für deine Codes die du im 
Forum zu Verfügung gestellt hast und erklärt hast.

Erwin D. schrieb:
> Und für den AVR gibt es auch viele Möglichkeiten und Bibliotheken. Setze
> ich selbst ein, auch mit verschiedenen AVRs (AT90CAN128, ATmega88,
> ATmega2560...). Alles völlig problemlos. Da muß man nicht unbedingt auf
> einen anderen µC umsteigen.
Kannst Du mir die Quellen für den Avr nennen?
Lg

Autor: Erwin D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ohne schrieb:
> Kannst Du mir die Quellen für den Avr nennen?

Die hast du doch schon. Ich meinte die Bibliothek von 
kreatives-chaos.com samt Beschreibung. Das funktioniert schon gut. Du 
mußt nur nach der Anleitung gehen. Ich kann nur grob sagen, daß du ein 
config-File editieren mußt, also auf deine Bedürfnisse anpassen. Die 
verwendeten Pins, den µC, gegebenenfalls die Pins vom MCP2515...
Dann mußt du eine Bibliothek erstellen (endet auf *.a). Die bindest du 
dann in dein Projekt ein. Steht aber alles gut beschrieben. Lies dir in 
aller Ruhe erstmal die Beschreibung durch, ok?

Erwin

Autor: ohne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erwin D. schrieb:
> Dann mußt du eine Bibliothek erstellen (endet auf *.a). Die bindest du
> dann in dein Projekt ein. Steht aber alles gut beschrieben. Lies dir in
> aller Ruhe erstmal die Beschreibung durch, ok?

Habe die libcan.a erstellt aber schaffe es nicht in AtmelStudio7 
einzubinden das es kompiliert wird.
Lg

Autor: Erwin D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ohne schrieb:
> Erwin D. schrieb:
>> Dann mußt du eine Bibliothek erstellen (endet auf *.a). Die bindest du
>> dann in dein Projekt ein. Steht aber alles gut beschrieben. Lies dir in
>> aller Ruhe erstmal die Beschreibung durch, ok?
>
> Habe die libcan.a erstellt aber schaffe es nicht in AtmelStudio7
> einzubinden das es kompiliert wird.
> Lg

Vielleicht liegt es daran, daß du bei Einbinden den vollen Namen 
angegeben hast? Das "lib" und das ".a" mußt du weglassen. Ist wohl eine 
Eigenart vom GCC. Also im Endeffekt bleibt dann beim Biblioteksnamen 
libcan.a ein "can" übrig, den du beim Linker eintragen mußt, ok?

Autor: Peppi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1.
Für den Atcan... Gibt es einen wizart. Gehe auf hpinfotech.ro und 
installiere die Evaluation Software. Mit Neu/project und der Zustimmung 
den Wizart zu verwenden kannst Du ohne das Datenblatt zu studieren den 
Canbaustein. Initialisieren. (Der Code wird mit "Generäle/Save und Exit" 
erstellt"

2.
Oder verwende den "arduino due" ist ein ARM 3 und läuft auf Arduino IDE.
Sogar unter github sind Beispiele für CAN.

Autor: ohne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peppi schrieb:
> Für den Atcan... Gibt es einen wizart. Gehe auf hpinfotech.ro und
> installiere die Evaluation Software. Mit Neu/project und der Zustimmung
> den Wizart zu verwenden kannst Du ohne das Datenblatt zu studieren den
> Canbaustein. Initialisieren. (Der Code wird mit "Generäle/Save und Exit"
> erstellt"

Danke werde den +Tipp ausprobieren!
Mal sehen ob ich es hinbekomme!

Autor: ohne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peppi schrieb:
> Mit Neu/project und der Zustimmung
> den Wizart zu verwenden kannst Du ohne das Datenblatt zu studieren den
> Canbaustein. Initialisieren. (Der Code wird mit "Generäle/Save und Exit"
> erstellt"

So einfach ist es auch wieder nicht:-(

Autor: ohne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe einige schwierig keiten hat jemand ein einfaches Programm indem die 
Konfiguration und die Interrupt Empfangsseite gemacht ist?

Danke und Lg

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.