Cześć wszystkim
Pracuję nad przeniesieniem kodu pewnej biblioteki do nrf24l01 z atmegi na xmegę (atmega32 -> xmega 128a3). Czytając bibliotekę wybrałem fragmenty z elementami charakterystycznymi dla danego typu procesora, czyli pozmieniałem części kodu związane z rejestrami i przerwaniami.
"Zakomentarzowałem" nietknięty oryginał.
To, co wstawiłem się kompiluje bez błędów i warningów, ale jak wiadomo to może z 10% sukcesu. Bardzo proszę o sprawdzenie poprawności i pozdrawiam
Zacząłem od pliku nrf24l01.h, oto co napisałem:
Dalszej części pliku nie wstawiałem, bo już nic nie było wg mnie do zmiany;
zmieniony fragment pliku SPI.c
Dalsza część pliku SPI.c dotycząca software'owego SPI jest niezmieniana, bo o ile widzę to nie ma tam już niż z rejestrami, są tylko operacje na makrach zmienionych wcześniej;
część dotycząca przerwań w pliku nrf24l01.c:
Jako, że w Xmega 128A3 nie ma przerwania INT2 to dałem INT0;
PS: Mam pytanie odnośnie pliku SPI.c biblioteki, oto fragment:
Ta funkcja inicjuje sprzętowy SPI. Czy nie powinien być również włączony bit SPIE? Nie jestem pewny czy sprzętowy SPI = wykorzystanie przerwań.
Pracuję nad przeniesieniem kodu pewnej biblioteki do nrf24l01 z atmegi na xmegę (atmega32 -> xmega 128a3). Czytając bibliotekę wybrałem fragmenty z elementami charakterystycznymi dla danego typu procesora, czyli pozmieniałem części kodu związane z rejestrami i przerwaniami.
"Zakomentarzowałem" nietknięty oryginał.
To, co wstawiłem się kompiluje bez błędów i warningów, ale jak wiadomo to może z 10% sukcesu. Bardzo proszę o sprawdzenie poprawności i pozdrawiam
Zacząłem od pliku nrf24l01.h, oto co napisałem:
Kod: C / C++
Dalszej części pliku nie wstawiałem, bo już nic nie było wg mnie do zmiany;
zmieniony fragment pliku SPI.c
Kod: C / C++
Dalsza część pliku SPI.c dotycząca software'owego SPI jest niezmieniana, bo o ile widzę to nie ma tam już niż z rejestrami, są tylko operacje na makrach zmienionych wcześniej;
część dotycząca przerwań w pliku nrf24l01.c:
Kod: C / C++
Jako, że w Xmega 128A3 nie ma przerwania INT2 to dałem INT0;
PS: Mam pytanie odnośnie pliku SPI.c biblioteki, oto fragment:
Kod: C / C++
Ta funkcja inicjuje sprzętowy SPI. Czy nie powinien być również włączony bit SPIE? Nie jestem pewny czy sprzętowy SPI = wykorzystanie przerwań.