AT90CAN128 Bibliothek

OP #2752903
Hallo Leute ich brauche wieder mal eure Hilfe. Ich habe ein paar 
generelle Verständnisfragen die mich schon längere Zeit plagen.

Also ich verwende den oben genannten µC und die hervoragende Bibliothek 
vom Roboterclub Aachen, die viele von euch sicher kennen. Leider gibt es 
dazu keine Dokumentation.

In den Beispielprogrammen werden immer Funktionen wie can_get_message(), 
can_send_message(), ... usw. verwendet. Aber nirgens kann ich diese 
Funktionen wirklich finden. In der Bibliothek sind ledig Funktionen wie 
at90can_get_message() oder at90can_send_message() zu finden. Wie 
funktioniert das und woher weiß ich wie ich die Funktionen aufgerufen 
werden?

Vielen Dank für eure Hilfe.
Gast #2752930
Kennst Du diese Seite:
http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek


Dort sind einige Sachen kurz erklärt. Eigentlich brauchst Du ja nur die 
LIB entsprechend deiner Bedürfnisse kompilieren, die LIB und can.h 
einbinden und schon kannst Du die Funktionen verwenden.

Kleiner Tip zur beliebten Stolperfalle: Nach dem Init Interrupts 
aktiveren, ansonsten ist nach 15 empfangenen CAN-Nachrichten Schluß, da 
dann die Hardwarebuffer voll sind und nicht mehr frei gemeldet werden.
Persönliche Seite #2753123
Christoph A. schrieb:
> In den Beispielprogrammen werden immer Funktionen wie can_get_message(),
> can_send_message(), ... usw. verwendet. Aber nirgens kann ich diese
> Funktionen wirklich finden.

Da die Bibliothek für mehrere CAN Controller compiliert werden kann, 
werden je nach Konfiguration die Funktionen per Define "umbenannt".

Wenn du den Code also für AT90CAN compilierst, dann entspricht 
can_send_message() genau der Funktion at90can_send_message(). Gleiches 
bei can_get_message() und at90can_get_message().

Patches für die Dokumentation werden übrigens gerne angenommen :)

Grüße Fabian
OP #2753466
Hallo,

vielen Dank für die schnellen Antworten. Ich hatte mir fast gedacht, 
dass es so funktioniert. Aber wenn es nirgends steht, kann man nur 
vermuten. :)

@ Fabian: Was meinst du mit Patches für die Dokumentation? Existiert 
denn eine Dokumentation?

LG
Persönliche Seite #2753753
> Aber wenn es nirgends steht, kann man nur vermuten. :)

Zu finden wäre es in can_private.h :)

> Was meinst du mit Patches für die Dokumentation? Existiert
> denn eine Dokumentation?

Auf der Webseite und in der Doxygen Dokumentation ist die Benutzung 
beschrieben. Mehr existiert nicht.

Grüße Fabian
OP #2754010
Ich habe eine weitere Verständnisfrage. Wie funktioniert das mit dem 
empfangen? Wenn eine Nachricht zum empfangen auf dem Bus liegt, dann 
wird ein Interrupt ausgelöst und die Nachricht wird gespeichert? 
Anschließend kann ich diese dann über can_get_message() abrufen? Zum 
Beispiel zyklisch über eine Schleife?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.