Witam,
mam problem z komunikacją CAN na w/w mikrokontrolerze. Właściwie to po nieudanych próbach komunikacji z innym urządzeniem chciałem uruchomić wysyłanie w trybie loopback, jednak również to nie działa. Dziwi mnie fakt, że po wysłaniu danych (ustawienie bitu TXRQ) hardware odpowiada mi bitem TXOK jednak po sprawdzeniu czy w skrzynce odbiorczej są jakieś dane (dwa najmłodsze bity w rejestrze CAN->RFR) okazuje się że skrzynka odbiorcza jest pusta. Tryb loopback jest na pewno wybrany, inicjalizacja przechodzi bez problemu. Ma ktoś jakiś pomysł co może być przyczyną takiego zachowania?
Poniżej zamieszczam kod zawierający procedurę inicjalizacyjną oraz funkcje do wysyłania i odbierania wiadomości po magistrali(na razie w trybie loopback):
mam problem z komunikacją CAN na w/w mikrokontrolerze. Właściwie to po nieudanych próbach komunikacji z innym urządzeniem chciałem uruchomić wysyłanie w trybie loopback, jednak również to nie działa. Dziwi mnie fakt, że po wysłaniu danych (ustawienie bitu TXRQ) hardware odpowiada mi bitem TXOK jednak po sprawdzeniu czy w skrzynce odbiorczej są jakieś dane (dwa najmłodsze bity w rejestrze CAN->RFR) okazuje się że skrzynka odbiorcza jest pusta. Tryb loopback jest na pewno wybrany, inicjalizacja przechodzi bez problemu. Ma ktoś jakiś pomysł co może być przyczyną takiego zachowania?
Poniżej zamieszczam kod zawierający procedurę inicjalizacyjną oraz funkcje do wysyłania i odbierania wiadomości po magistrali(na razie w trybie loopback):
Kod: C / C++