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
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
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.
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.
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é
:
Bearbeitet durch User
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.