Gast
#3720705
Hi alle miteinander, ich versuche gerade das CAN Interface des AT32UC3C zu verwenden. Das Problem ist, dass der Channel einfach nicht aktiviert wird! Ich habe mich intensiv mit dem Datenblatt auseinandergesetzt und bin meines Erachtens genau so wie beschrieben vorgegangen. Wie unten zu sehen ist, schreibe ich das CANCTRL Register in eine Variable (canctrl_status). Diese Variable hab ich mir während dem Debuggen angesehen und dort steht eine 2 drin, was auch richtig ist (Enable Bit = Bit 1 im CANCTRL Register). Anschließend frage ich in einer while-Schleife die Variable channel_status ab, in die ich das Channel Enable Status Flag (aus dem Status Register CANSR aus maskiert) geschrieben habe. Sobald das Channel Enable Status Flag gesetzt wird und somit signalisiert wird das der Channel aktiviert ist, sollte die Schleife verlassen werden. Soweit kommt es aber nicht. Was hab ich vergessen bzw. was habe ich falsch gemacht? Ich hoffe hier kennt sich jemand damit aus und kann mir helfen. Danke schon mal an alle, die sich die Mühe machen! :-)
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 | |