Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 9 cze 2025, o 01:59


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 20 wrz 2014, o 18:57 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 10 wrz 2013
    Posty: 23
    Pomógł: 1

    Witam,

    Mam problem z akcelerometrem LIS3DSH wbudowanym w płytkę STM32F4 - Discovery. Próbuję uzyskać odpowiedź akcelerometru na komendę WHO_AM_I. Niestety akcelerometr ciągle wywala 0xFFFF pomimo wielu zmian w kodzie. Komunikuję się przy pomocy SPI. Oto kod:

    Istotne makra:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Funkcja jednocześnie wysyłająca i odbierająca:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Funkcja główna:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Mógłby ktoś znaleźć błędy w moim programie? Nie mogę zrozumieć czemu ten program nie działa właściwie.

    _________________
    Mikrokontrolery ARM



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 wrz 2014, o 19:43 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 maja 2013
    Posty: 568
    Zbananowany użytkownik

    Pomógł: 31

    Jak na mój gust to zapomniałeś o CS (PE3) w rejestrze AFR.

    _________________
    Und schreien

    Spring
    Erlöse mich
    Spring
    ...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 wrz 2014, o 19:53 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 10 wrz 2013
    Posty: 23
    Pomógł: 1

    PROTON napisał(a):
    Jak na mój gust to zapomniałeś o CS (PE3) w rejestrze AFR.


    Dla PE3 nie ma przewidzianej funkcji alternatywnej związanej z SPI, PE3 jest sterowane programowo, nie przez SPI.

    _________________
    Mikrokontrolery ARM



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 wrz 2014, o 19:54 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 maja 2013
    Posty: 568
    Zbananowany użytkownik

    Pomógł: 31

    No to musisz jeszcze dopisać:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    _________________
    Und schreien

    Spring
    Erlöse mich
    Spring
    ...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 wrz 2014, o 20:04 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 10 wrz 2013
    Posty: 23
    Pomógł: 1

    Niestety, wcześniej próbowałem i te bity ustawiać (z SSOE i bez) i bezskutecznie. Odpowiedź nadal taka sama.

    _________________
    Mikrokontrolery ARM



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 wrz 2014, o 09:02 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 05 sie 2012
    Posty: 35
    Pomógł: 4

    Dwa lata temu oprogramowałem go, na podstawie przykładów od ST.

    Moja funkcja inicjalizacyjna:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Spróbuj jej, nie obiecuję że działa, wygrzebałem go z czeluści dysku ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 wrz 2014, o 19:20 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 10 wrz 2013
    Posty: 23
    Pomógł: 1

    Pozwolę sobie zamieścić zrzut z okna programu analizatora logicznego (miałem dzisiaj do niego dostęp):

    Obrazek

    Jak można zauważyć linia zegarowa jak i linia CS pracują, natomiast master nic nie chce wysyłać przez co slave nie odpowiada. Próbowałem innych opcji konfiguracji w tym konfiguracja kolegi powyżej. Akcelerometr działa - sprawdzałem w programie z przykładów od ST. Mi chodzi natomiast o samodzielne oprogramowanie akcelerometru.

    _________________
    Mikrokontrolery ARM



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 wrz 2014, o 16:19 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 sie 2013
    Posty: 230
    Lokalizacja: Zabrze
    Pomógł: 17

    Czy zamiast
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    nie powinno być
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    ?

    _________________
    40-32:2=4!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 wrz 2014, o 20:10 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 10 wrz 2013
    Posty: 23
    Pomógł: 1

    Nie jest to konieczne ze względu na to iż jeszcze nie zaimplementowałem obsługi przerwań z akcelerometru. Ale z czystej ciekawości sprawdziłem i nie dało to żadnych efektów. W międzyczasie kod przeszedł wiele zmian, w przebiegu uzyskanym z analizatora logicznego widać już że master wysyła dane jednak slave nic nie wysyła (samo 0xFF na miso):

    Obrazek

    A oto program:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    //EDIT: Dziękuję bardzo za pomoc, komunikacja działa - zapomniałem o tym że ramka jest 16 - bitowa, wysyłałem zatem złe rzeczy na magistralę.

    _________________
    Mikrokontrolery ARM



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO