Hallo,
Ich habe eine allgemeine ISR für CAN-Interrupts in AT90CAN128
geschrieben, s. Code unten. Kann mir jemand sagen, ob es reibungslos
läuft? Noch eine Frage, wozu dient der 16Bit-CAN-Timer in AT90CAN128? Es
gibt schon allgemeine Timer!
1 | ISR(CANIT_vect)
|
2 | {
|
3 | do
|
4 | {
|
5 | if (receive interrupt)
|
6 | receive processions;
|
7 | else if (transmit interrupts)
|
8 | transmit processions;
|
9 | else if (bus off interrupt)
|
10 | bus off processions;
|
11 | }
|
12 | while (CANGIT & 0xDF != 0); // all interrupts besides 'overran CAN timer' are gone?
|
13 | }
|
MfG
Senmeis