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



Teraz jest 13 gru 2024, o 11:32


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 0 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