Gast
#3643473
Moin, ich habe hier ein kleines, selbstgebautes Testboard mit einem ATMEGA16m1. Ich möchte mit dem vorhandenen CAN-Controller Nachrichten versenden und auch empfangen. Zum Teil funktioniert das auch schon: Ich kann Nachrichten in Form von MessageObjects erstellen und versenden. Die kommen bei meiner Gegenstation auch an (PEAK CAN/USB-Adapter). Der ATMEGA16m1 empfängt auch Nachrichten meiner Gegenstation und tütet diese korrekt in die MessageObjects ein. Die Nachrichten kann ich dann auch aus dem MOb herausholen, allerdings muss ich dazu das RXOK-Bit des CAN-Controllers anpollen. Das möchte ich nicht machen, ich will den Controller hiermit nicht blockieren. Ich habe es bisher jedoch nicht geschafft, beim erfolgreichen Empfang einer Nachricht einen Interrupt auszulösen. Ich verstehe nicht warum, denn meiner Meinung nach habe ich alles getan, was dazu notwendig wäre. Meinem Verständnis nach muss ich die Interrupts in den Registern CANIE2 und CANIE1 für die MOb's aktivieren und zusätzlich noch die CAN-Interrupts generell aktivieren. Hierzu habe ich im CANGIE das ENIT und ENRX (für den Empfangsinterrupt) gesetzt. Es passiert leider absolut gar nichts. Für den Anfang will ich mit dem Interrupt einfach nur mal einen globalen Boolean toggeln, mit dem ich dann eine simple LED einschalte. Es tut sich aber nichts. Über Polling funktioniert das Ganze, daher vermute ich mal, dass ich meinen Interrupt nicht richtig eingestellt habe (der Polling-Code ist auskommentiert). Vielleicht hat ja jemand eine gute Idee und kann mir helfen. Gruß Nils
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |