logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega 32 sprzętowe SPI do współpracy z nRF24L01 - brak współpracy - dlaczego?

Krzysztof_lolek 17 Sie 2013 23:06 2649 5
  • #1 12638996
    Krzysztof_lolek
    Poziom 11  
    Witam serdecznie!
    Od kilku dni borykam się z problem uruchomienia na ATMEGA32 termometru bezprzewodowego wykorzystującego moduły nRF24L01. W obecnej chwil mam układ który już działa na atmega 8 i atmega 16 ale po podmianie atmegi 16 na atmegę 32 układ nie działa - chciałbym wiedzieć dlaczego. Poniżej zmieszczam cześć kodu z BASCOM-a:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Poniżej w moim programie znajdują się jeszcze 3 procedure do obsługi nRF24L01 takiej jak w helpie ( nie zmiesćiałem jej tutaj). I teraz chciałbym podkreślić, że na atmega 16 działa ale na atmega 32 nie działa. Znalazlem w opisie atmegi 32, że tablica vektorów przerwań jest trochę inna. Dla 16 SPI jest na 11 pozycji natomiast dla atmegi 32 jest na 13 pozycji. Czy ktoś miał podobne problemy i może mnie trochę oświecić. Chciałbym dodać że ten pomysł zaczerpnąłem z innej strony z internetu ale tylko na atmegę 8. Dzięki i pozdrawiam!
  • #2 12639342
    Kuniarz
    Moderator Projektowanie
    Po zaprogramowaniu odłączasz programator ? Może (a raczej na pewno) powodować problemy z działaniem SPI, bo w sumie to na tych samych liniach pracuje.
    Pomogłem? Kup mi kawę.
  • #3 12639539
    Krzysztof_lolek
    Poziom 11  
    No niestety odłączenie programatora nie pomaga nie odbiera sygnału z nadajnika który mierzy temperaturę na DS18B20 i przesyła przez nRF24L01 do odobiornika z ATMEG-ą 32. Może wektory przerwań są problemem ich inne adresy??? Ale jak to zmienić w kodzie?
  • #4 12639551
    Kuniarz
    Moderator Projektowanie
    aaaa, no dobra, a w programie zmieniłeś plik na "$regfile = "m32def.dat". Wektorami przerwań się nie martw, bo to powinien obsłużyć kompilator, ale musisz mu najpierw wskazać, jakiego procka używasz.
    Pomogłem? Kup mi kawę.
  • #5 12639566
    Krzysztof_lolek
    Poziom 11  
    Oczywiście że zmieniam rodzaj procka od tego zacząłem. Także to nie to. Dużo tematów widziałem na internecie o SPI i ATMEGA32. Tak więc ludzie często mają problem właśnie na tym procku. Kończą mi się już pomysły na razie jadę na ATMEG-dze 16 ale po mały kończy mi się miejsce na program a jeszcze muszę dołożyć obsługę DCF77 i odbieranie danych radiowo o tem w CO i ciśnieniu i wilgotności.

    ............
    Czy ktoś z Drogich Forumowiczów ma jeszcze jakieś pomysły w czym tkwić może problem z ATMEGA 32???

    ............
    Panowie sprawdziłem wsad do procesora ATMEGA32 na symulatorze w BASCOM-ie - działa. Niestety w realu już nie ponieważ wpada do jednej pentli z warunkiem until i już z niej nie wychodzi. Nie odbiera nic z nRF24L01 pokazuje wartość temperatury równą 0.
    Wydaje mi się że nie spełnia tego warunku:
    Kod: text
    Zaloguj się, aby zobaczyć kod
    .
    Wsad wzorowany jest na opisie zamieszczonym w tym miejscu:
    http://www.mcselec.com/?option=com_content&task=view&id=212&Itemid=57
  • #6 12788612
    Krzysztof_lolek
    Poziom 11  
    Udało mi się rozwiąza mój problem, było nim zbyt niskie napięcie zasilania modułu nRF24L01, które wynosiło 2,88V. Temat uważam za zamknięty atmega 32 dział i mogę rozbudować układ o pomiar ciśnienia i wilgotności.
REKLAMA