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



Teraz jest 29 mar 2024, o 00:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 29 sty 2020, o 20:08 
Offline
Użytkownik

Dołączył(a): 10 paź 2014
Posty: 55
Pomógł: 0

Cześć,

Panowie pomóżcie mi dokładnie zrozumieć fragment kodu z książki Pana Mirka. A mianowicie:

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


Proszę tylko o zrozumienie bo pewnie problem jest banalnie prosty. A tyczy się to przesunięciom bitowym.

Chcąc wysłać do wyświetlacza informację np. 0x50; Czyli bitowo: 0b01010000;

To jak będzie wyglądała dana dla każdej lini D4 do D7.


Albo prościej, nie rozumiem do końca tej częśći kodu:

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



Więc jeśli data będzie miała wartość: 0b01010000; to jak będzie wyglądała informacja na lini D4 do D7 po przesunięciu bitowym.
Chyba, że ja coś zaczynam mieszać to proszę was o wyjaśnienie co się dzieję krok po kroku bo już dostaję białej gorączki :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sty 2020, o 20:36 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

To jest zwykła operacja and, czyli po kolei mamy:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jeżeli dany bit w zmiennej data ma wartość 1, to wystawiana jest "1" na danym pinie, w przeciwnym wypadku ustawiane jest "0" na danym pinie.

Chcąc w ten sposób wysłać całą wartość 8-bitową, to operację musimy powtórzyć dwa razy.
Za pierwszym razem wysyłane są młodsze 4 bity. Następnie wartość zmiennej data należy przesunąć o 4 bity w prawo
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i ponownie wykonać operację sprawdzania czterech młodszych bitów.

Biorąc więc ta Twoją przykładową liczbę 0b01010000 Będziemy mieć:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę

_________________
Pozdrawiam,
sq8mvy, Paweł



Ostatnio edytowano 29 sty 2020, o 21:00 przez gizmo5418, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sty 2020, o 20:59 
Offline
Użytkownik

Dołączył(a): 10 paź 2014
Posty: 55
Pomógł: 0

No tak i już stała się jasność. Dzięki za pomoc. :)



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 13 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