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

Atmega644P/Bascom - RFM12 + karta SD - SPI sprzętowe - razem nie działa

maximus22_kr 07 Maj 2013 18:01 2697 3
REKLAMA
  • #1 12282030
    maximus22_kr
    Poziom 18  
    Witam
    Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa bez problemu )

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Kombinuję z Polarity i Phase, próbowałem nawet inicjować RFM12 po wyjściu z zapisu na kartę SD. Ale to nie kwestia inicjalizacji, ale ustawienia SPI. Niestety za każdym razem jest tak, że jeśli RFM 12 coś odbierze, to jest to później wyświetlane na LCD, ale jeśli potem dojdzie do zapisu na kartę SD, to następne odebranie danych z RFM12 powoduje wyzerowanie wyświetlanych danych lub wyświetlanie wartości 65535. Przy czym zapis na SD działa dalej prawidłowo, tylko dane odebrane z RFM12 to krzaki.

    Powyższy kod ma problem z kompilacją "CONST already specified [SPI_SS]
  • REKLAMA
  • #2 12289947
    zbv
    Poziom 20  
    Wydaje mi się że musisz zadbać by obsługa karty i RFM nie nakładała się. Jak zmieniasz stan CS od SD na niski to zrób to tak: cs rfm na wysoki, cs sd niski. I to samo w procedurach rfm jak cs od rfm na niski to cs od sd na wysoki.
  • REKLAMA
  • #3 12291120
    maximus22_kr
    Poziom 18  
    Tzn. jeśli chodzi kartę SD to steruję ręcznie włączeniem zasilania karty i ustawienia pinu CS. Spróbuję dopisać blokadę pinu CS dla RFM12, a w programie odbioru danych z RFM12 dopiszę blokadę pinu CS karty SD.

    Tylko nie wiem ,czy to wystarczy i nie trzeba za każdym razem wpisywać konfiguracji, czyli dla karty SD jest:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    nie wiem, jaka konfiguracja byłaby dla RFM12.

    Właśnie użycie Config Spi powoduje, że RFM12 przestaje odbierać. Żeby uruchomić zapis na SD dwie powyższe linie są konieczne.
  • #4 12301986
    maximus22_kr
    Poziom 18  
    Po różnych próbach uruchomienia - odpuściłem, przepiąłem RFM12 na inne piny działa bez problemu już drugi dzień, karta SD zapisuje kilka zmiennych typu string ( temperaturę, wilgotność, ciśnienie, stan czujników ), skorzystałem z najnowszej biblioteki obsługującej karty SDHC ( ma np. funkcje sprawdzające rodzaj włożonej karty i pojemność ).
REKLAMA