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 w 2025? 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 13 kwi 2025, o 13:14


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
    Autor Wiadomość
    PostNapisane: 14 mar 2020, o 15:20 
    Offline
    Nowy

    Dołączył(a): 14 mar 2020
    Posty: 1
    Pomógł: 0

    Witam.
    Chcę odczytać bajt danych z urządzenia podrzędnego. Proces odczytu ze slave'a przedstawia fotografia:

    Obrazek

    0x52 - adres slave'a, adres rejestru spod którego chcę odczytać dane to: 0x00E5. Używając funkcji TWI_read_buf wygląda to następująco:

    TWI_start;
    TWI_write(0x52); //wysyłam adres slave
    TWI_write(??); // pierwsze 8 bitów adresu rejestru index[15:8] - (0x00 czy 0xE5)??
    TWI_write(??); // drugie 8 bitów adresu rejestru index[7:0] - (0x00 czy 0xE5)??
    TWI_start;
    TWI_write(0x52+1);
    .....
    TWI_stop;

    Adres spod którego chcę oczytać dane ma 16 bitów. Chciałbym upewnić się w jakiej kolejności mam wysłać ten adres.

    Z góry dziękuję za pomoc. ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 mar 2020, o 20:46 
    Offline
    Użytkownik

    Dołączył(a): 11 sty 2015
    Posty: 166
    Pomógł: 24

    Wg rysunku który zamieściłeś najpierw wysyłasz starszą potem młodszą część adresu, czyli:

    TWI_start;
    TWI_write(0x52); //wysyłam adres slave
    TWI_write(0x00); // pierwsze 8 bitów adresu rejestru index[15:8]
    TWI_write(0xe5 ); // drugie 8 bitów adresu rejestru index[7:0]
    TWI_start;
    TWI_write(0x52+1);
    .....
    TWI_stop;


    Autor postu otrzymał pochwałę


    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: 2 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO