Hallo,
MC: LPC2468-Board
Kompiler: GNUARM
ich versuche die ganze Zeit der CAN-Bus Zustand auszulesen(Passiv oder
Aktive), es geht aber nicht.Ich mache nichts anders als Die CAN-Bus
Zustand vom CANxSR Register auszulesen und die Receive Status Bit zu
überprüfen, wenn ich aber der CAN-Bus starte, gibt mir das Programm
immer aus, das es keine CAN Aktivitäten vorhanden sind,obwohl es CAN-Bus
Verkehr gibt(ich kann die CAN-Frames auch sehen).
1 | unsigned char CANState(void)
|
2 | {
|
3 | unsigned char retval;
|
4 | unsigned int recvstate;
|
5 |
|
6 | recvstate = CAN1SR;
|
7 | if(recvstate & (1<<4))
|
8 | {
|
9 | retval = TRUE;
|
10 | }
|
11 | else
|
12 | {
|
13 | retval = FALSE;
|
14 | }
|
15 |
|
16 | return(retval);
|
17 | }
|
Gibt es irgendwas falsches im Programm? muss ich vielleicht die CAN
Interrupts vorher ausschalten?
Danke