www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC: CAN Routinen nach AN738


Autor: ChristofR (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich möchte die C-Routinen für CAN nach dem Application Note 738 von
Microchip verwenden:

http://www.microchip.com/stellent/idcplg?IdcServic...

Verwendet wird der C18 Compiler für 18CXX8 Controller.

Leider gelingt es mir nicht diese Routinen einzubinden damit es sich
ohne Fehler kompilieren lässt. Das gesamte Projekt für MPLAB ist
mitangehängt.

Ich bekomme beim Compilieren folgende Fehler:

E:\18er_PICs\Dummy2\can18xx8.c:175:Error [1205] unknown member
'RX0DBEN' in '__tag_98'
E:\18er_PICs\Dummy2\can18xx8.c:175:Error [1131] type mismatch in
assignment
E:\18er_PICs\Dummy2\can18xx8.c:687:Error [1205] unknown member
'RX0OVFL' in '__tag_120'
E:\18er_PICs\Dummy2\can18xx8.c:690:Error [1205] unknown member
'RX0OVFL' in '__tag_120'
E:\18er_PICs\Dummy2\can18xx8.c:690:Error [1131] type mismatch in
assignment
E:\18er_PICs\Dummy2\can18xx8.c:690:Error [1117] scalar type expected
in 'if' statement
E:\18er_PICs\Dummy2\can18xx8.c:693:Error [1205] unknown member
'RX0DBEN' in '__tag_98'
E:\18er_PICs\Dummy2\can18xx8.c:696:Error [1117] scalar type expected
in 'if' statement

Autor: Geri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christof

Ich entwickle auch mit dem PIC18. Mit dem CAN-Bus hatte ich bisher
nichts zu tun, kann dir deshalb nur den Hinweis geben doch mal das
Microchip-Fourm durchzustöbern oder dort einen Beitrag zu platzieren.
Die CAN-spezfischen Beiträge findet man dort unter:

http://forum.microchip.com/tt.asp?forumid=103

Beste Grüsse
Geri

Autor: C3PO (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hatte mir auch mal die CAN-Sourcen von der Microchip-HP geladen, musste
sie aber erst anpassen, bevor was rauskam bzw. hinein in den PIC, aber
funzt mittlerweile sehr gut.

Autor: Nikolaus Correll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal ins Datenblatt / in die PIC18xx.h. Die entsprechenden Register 
bits sind inzwischen umbenannt worden. Wenn Du die defines ganz oben im 
CANxx.h file anpasst, compiliert alles.

Autor: Andre Pfeiffer (stanleyku)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

ich bin auch gerade dabei eine CAN18XX8.h in mein Projekt einzubinden. 
In dem Moment wo die can18XX8.c dazu kommt bekomme ich einen Fehler beim 
compilieren.
"C:\Program Files (x86)\Microchip\xc8\v1.34\include\pic18f66k80.h:22085: warning: (983) storage class redeclared for "TXB2CONbits"
C:\Program Files (x86)\Microchip\xc8\v1.34\include\pic18f66k80.h:22085: error: (984) type redeclared
C:\Program Files (x86)\Microchip\xc8\v1.34\include\pic18f66k80.h:22085: error: (1098) conflicting declarations for variable "TXB2CONbits" (../99_library/00738_CANRoutine/can18xx8.h:120)
(908) exit status = 1
nbproject/Makefile-default.mk:110: recipe for target 'build/default/production/_ext/121606277/can18xx8.p1' failed
CAN18XX8.h:96: warning: (367) identifier is already extern; can't be static
CAN18XX8.h:96: error: (984) type redeclared
CAN18XX8.h:96: error: (1098) conflicting declarations for variable "RXB1CONbits" (CAN18XX8.h:96)
make[2]: *** [build/default/production/_ext/121606277/can18xx8.p1] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [build/default/production/main.p1] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
"

-> "storage class redeclared for "TXB2CONbits" ist in der pic18f66k80.h 
sowie in der CAN18XX8.h vorhanden (natürlich). Ich verstehe nicht wo das 
Problem liegt, da die Register doch in beiden Headern beötigt werden. 
Kann mir jemand auf die Sprünge helfen?

Vielen DANK!

Gruß André

: Bearbeitet durch User

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.