Hallo, ich versuche mit dem PIC18f2585 einen CAN Bus aufzubauen. Wenn ich allerdings auf den functional_mode 1 umschalten will, geht das nicht mit C. Die header-datei (can-18xxx8.c) die ich momentan benutze kennt die funktion can_set_functional_mode(1) nicht. Wo kan ich eine header datei finden die den modus 1 unterstützt? bzw. was könnte ich sonst machen um den modus 1 nutzen zu können?
Matthias wrote: > Wenn ich allerdings auf den functional_mode 1 umschalten will, geht das > nicht mit C. Die header-datei (can-18xxx8.c) die ich momentan benutze > kennt die funktion can_set_functional_mode(1) nicht. Wie der Name *.c ja schon sagt, ist es gar keine Header-Datei, sondern ein Quelltext-Modul. Der zugehörige Header heißt *.h. Wenn eine Funktion nicht gefunden wird, warum willst Du sie dann aufrufen ? Schau doch einfach mal rein, ob die Funktion überhaupt drin ist. Vielleicht wird sie ja nur von bestimmten Targets unterstützt. Peter
ja ich meinte die entsprechende *.c datei. In der can-18xxx8.c gibt es keine entsprechende funktion um auf den Modus 2 umzuschalten. In der can-18F4580.c für den PIC18F4580 gibt es beispielsweise diese und andere funktionen. NAch dem Datenblatt des PIC18F2585 unterstützt er aber auch sämtliche CAN funktionen die der der 4580er auch unterstützt. Also auch den modus 1 und 2. Also mit dem target sollte es dann doch möglich sein? Matthias
Hat noch jemand eine Idee was ich da machen kann um in den Modus 1 zu kommen mit den PIC18F2585 undd die entsprechenden Funktionen zu nutzen? Gibt es vieleicht Beispielcode um das ganze über eingebetteten Assemblercode zu machen? gruß Matthias
Vielleicht solltest Du mal rauskriegen, was Modus 1 und 2 zu bedeuten hat. Dann kann man sicher anhand des Datenblattes des PIC rauskriegen, welche IO-Register dafür zu setzen sind. Im CAN-Standard gibt es jedenfalls keine Modus 1 oder 2 genannten Funktionen. Sind vielleicht "Standard Frames" und "Extended Frames" gemeint ? Ich glaub, ohne sich mit CAN zu beschäftigen, ist es mit bloßen Aufrufen irgendwelcher unbekannter Funktionen nicht getan. Peter
Hallo, hallo, es geht mir hier nicht um das aufrufen von unbekannten funktionen, sonern um das verwenden der funktionen auf einem bestimmten Baustein. Der Modus 1 ist der Enhanced Legacy Mode und der Modus 2 der Enhanced Fifo Mode. Im Datenblatt ist da dann die rede von Mode 1 und 2. Diese kann man zum Beispiel dazu verwenden um direkt unter verwendung der Buffer daten von einem Knoten zu holen. Oder um Die receive Buffer als Fifo zu schalten. Diese Modi gehören wohl wirjklich nicht zum reinen CAN Standard, aber sowohl der PIC18F4580 als auch der PIC18F2585 unterstützen diese. IM 4580er habe ich diese Funktionalität auch verwendet. Meine Frage ist nun, wie ich dies auch mit dem 2585er machen kann. Dieser hat nach Datenblatt genaudieselben funktionen, nur sind diese nicht in der *.c des 2585er implementiert. Gibt es eventuell Beispiele fuer das Anwenden dieser Funktionen mit eingebetteten Assemblercode in C oder wie kann ich den 2585er sonst noch dazu überreeden diese erweiterten Funktionalitäten zu nutzen. gruß Matthias
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.