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.
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.
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
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
> 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
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.