Forum: Mikrocontroller und Digitale Elektronik Universelle CAN Bibliothek Probleme beim erstellen


von Sebastian K. (kudda)


Lesenswert?

Hey versuche schon seit einiger Zeit die Bibliothek: Universelle CAN 
Bibliothek 
http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek zu 
erstellen und in mein Projekt ein einzubinden. Bei der "config.h" Datei 
und der "Makefile" Datei habe ich soweit alles eingestellt. Als nächstes 
soll man in WinAVR die Dateien zusammenfügen da ich noch neu in diesem 
Gebiet bin war ich mir am Anfang nicht ganz sicher ob das alles richtig 
ist was ich mache, denke aber das sollte so passen wie ich es gemacht 
habe. Leider beginnen ab diesem Punkt die Probleme ich bekomme beim 
zusammenfügen zur "libcan.a" Datein immer eine Fehlermeldung in WinAVR 
diese lautet:

mcp2515.c:265: fatal error: opening dependency file .dep/mcp2515.o.d: No 
such file or directory

Jemand eine Ahnung wie ich diese Weg bekomme gab zwar schon einen 
anderen Lösungsansatz hier auf der Seite leider Funktionieren die Links 
nicht mehr, oder kennt einer eine andere Bibliothek die ich nutzen kann?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

WinAVR wird seit mehr als 10 Jahren nicht mehr gepflegt. Bevor du da 
noch mehr Zeit rein steckst würde ich zuerst auf aktuelle Software 
wechseln, wo man die Autoren noch um Hilfe bitten kann.

von Sebastian K. (kudda)


Lesenswert?

Ok von welcher Software reden wir dann und wie wäre bei der die grobe 
vorgehensweiße?

von Stefan F. (Gast)


Lesenswert?

Sebastian K. schrieb:
> Ok von welcher Software reden wir dann und wie wäre bei der die grobe
> vorgehensweiße?

Ich kann dir keine Software empfehlen, ohne deine Anforderungen zu 
kennen. Aktuell nimmt man zum Beispiel den avr-gcc compiler von Zak 
https://blog.zakkemble.net/avr-gcc-builds/.

Mit CAN habe ich keine Erfahrung. Dennoch rate ich davon ab, jetzt etwas 
neue mit Software zu entwickeln, deren Pflege vor 13 Jahren endete. 
Braucht man für CAN überhaupt eine "universelle" Bibliothek? Ich dachte 
das Protokoll sei genormt und wird durch die Hardware abgewickelt. Du 
brauchst wohl eher Code, der deinen konkreten CAN Controller anspricht.

Ich würde dazu einen Mikrocontroller verwenden, der CAN bereits 
integriert hat. Zum Beispiel einen STM32F303. Dazu gibt es dann die HAL 
samt Code-Generator direkt vom Hersteller, falls du so etwas benutzen 
willst. Arduino unterstützt den auch.

von Sebastian K. (kudda)


Lesenswert?

Klar ist verständlich da ich noch nicht so viel in der Hinsicht gemacht 
habe habe ich versucht der Anleitung auf der Seite zu folgen werde mich 
mal mit avr-gcc auseinandersetzen schonmal vielen Dank dir.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Stefan,

Stefan ⛄ F. schrieb:
> Mit CAN habe ich keine Erfahrung. Dennoch rate ich davon ab, jetzt etwas
> neue mit Software zu entwickeln, deren Pflege vor 13 Jahren endete.
> Braucht man für CAN überhaupt eine "universelle" Bibliothek? Ich dachte
> das Protokoll sei genormt und wird durch die Hardware abgewickelt. Du
> brauchst wohl eher Code, der deinen konkreten CAN Controller anspricht.

Welches CAN meinst du denn? Es gibt ja im ISO-OSI Stack mehrere 
Schichten. Denkbar wären z.B. CANopen, UDS on CAN usw. Sebastian will ja 
die CAN-Frames sicherlich nicht "von Hand" verarbeiten...

Mit freundlichen Grüßen
Thorsten Ostermann

von Stefan F. (Gast)


Lesenswert?

Thorsten O. schrieb:
> Es gibt ja im ISO-OSI Stack mehrere
> Schichten. Denkbar wären z.B. CANopen, UDS on CAN usw. Sebastian will ja
> die CAN-Frames sicherlich nicht "von Hand" verarbeiten...

Diese universelle Bibliothek sieht allerdings nicht danach aus, mehr als 
nur die unterste Schicht zu implementieren.

von Sebastian K. (kudda)


Lesenswert?

Mein Vorhaben ist über ein  MCP2515 mit einem Microkontroller wie zb den 
ATMEGA88 Nachrichten über CAN zu verschicken und zu empfangen und das 
sobald das mal klappt möglicherweise zu erweitern. Das Problem ist nur 
ich finde keine andere Bibliothek die ich benutzen kann deswegen muss 
ich die verwenden.

von Stefan F. (Gast)


Lesenswert?

Die Kommunikation zwischen Mikrocontroller und MCP2515 ist in dessen 
Datenblatt umfangreich beschrieben. Ich denke nicht, dass du dafür eine 
fremde Bibliothek brauchst. Implementiere die paar Zeilen Code doch 
einfach selbst.

Oder schau dich im Arduino Umfeld um, dort gibt es entsprechende 
Bibliotheken die noch gepflegt werden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.