Forum: Mikrocontroller und Digitale Elektronik wo finde ich eine header datei


von Matthias (Gast)


Lesenswert?

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?


von Ale (Gast)


Lesenswert?

can-18xxx8.c gehört zum CCS C compiler...

von Peter D. (peda)


Lesenswert?

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

von Matthias (Gast)


Lesenswert?

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

von Matthias (Gast)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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

von Matthias (Gast)


Lesenswert?

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