mikrocontroller.net

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


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?


Autor: Ale (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
can-18xxx8.c gehört zum CCS C compiler...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.