PIC: CAN Routinen nach AN738

Gast #234501
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?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011822

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
Angehängte Dateien:
Gast #830453
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.
#4374850
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.
1
"C:\Program Files (x86)\Microchip\xc8\v1.34\include\pic18f66k80.h:22085: warning: (983) storage class redeclared for "TXB2CONbits"
2
C:\Program Files (x86)\Microchip\xc8\v1.34\include\pic18f66k80.h:22085: error: (984) type redeclared
3
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)
4
(908) exit status = 1
5
nbproject/Makefile-default.mk:110: recipe for target 'build/default/production/_ext/121606277/can18xx8.p1' failed
6
CAN18XX8.h:96: warning: (367) identifier is already extern; can't be static
7
CAN18XX8.h:96: error: (984) type redeclared
8
CAN18XX8.h:96: error: (1098) conflicting declarations for variable "RXB1CONbits" (CAN18XX8.h:96)
9
make[2]: *** [build/default/production/_ext/121606277/can18xx8.p1] Error 1
10
make[2]: *** Waiting for unfinished jobs....
11
make[2]: *** [build/default/production/main.p1] Error 1
12
make[1]: *** [.build-conf] Error 2
13
make: *** [.build-impl] Error 2
14
"

-> "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é

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.