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



Teraz jest 29 mar 2024, o 08:41


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 23 lip 2019, o 15:03 
Offline
Nowy

Dołączył(a): 23 lip 2019
Posty: 19
Pomógł: 0

Witam.
Jestem początkujący i przerabiam książkę "Mikrokontrolery AVR" autora M. Kardaś.

1. Multipleksowanie LED:
if(d1) cy1=d1; else cy1=NIC;

Pętla IF zmienną d1 porównuje do zera? Gdy jest większa niż 0 to warunek jest prawdziwy ?

2. Wyświetlacz LCD

Chodzi teraz o operator &
if(PIN(LCD_D4PORT)&(1<<LCD_D4)) result |= (1<<0);

Czy w warunku pętli sprawdzana jest operacje AND i porównywalna jest do zera?

if (data&(1<<0)) PORT(LCD_D4PORT) |= (1<<LCD_D4); else PORT(LCD_D4PORT) &= ~(1<<LCD_D4);

Jak chodzi o to "data&(1<<0) ". o co chodzi w tym?


Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2019, o 16:18 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

ForestP napisał(a):
Jak chodzi o to "data&(1<<0) ". o co chodzi w tym?

O najzwyklejsze maskowanie bitów w bajcie (zmiennej) data, coś mi się wydaje, że kolega może pominął rozdziały o przesunięciach bitowych z książki? A jest to bardzo ładnie wyjaśnione. Albo może warto wrócić do tego rozdziału?

Za to na pewno warto też obejrzeć dodatkowo ten poradnik - może być niezłym uzupełnieniem do książki ;) (tylko UWAGA! poradnik dla ludzi o mocnych nerwach) :D



Autor postu otrzymał pochwałę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2019, o 21:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1146
Lokalizacja: Kraków
Pomógł: 93

ForestP napisał(a):
1. Multipleksowanie LED:
if(d1) cy1=d1; else cy1=NIC;

Pętla IF zmienną d1 porównuje do zera? Gdy jest większa niż 0 to warunek jest prawdziwy ?
W pewnym sensie tak. Jeżeli d1 jest różne od zera, to wyświetla ta liczbę. Jeśli jest równe 0, to wyświetla NIC (czyli pusty wyświetlacz). A całość po to, żeby nie wyświetlało się "0" na pierwszym wyświetlaczu


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lip 2019, o 15:25 
Offline
Nowy

Dołączył(a): 23 lip 2019
Posty: 19
Pomógł: 0

Bardzo dziękuje za informacje :)
Filmik bardzo pomocny :)

Jeszcze mam jedno pytania dotyczące tego ćwiczenia.

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


_data wiadomo jest zmienną w funkcji. Ma to jakieś inne zadanie to "_"?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lip 2019, o 15:34 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

to część nazwy ;) podkreślniki się stosuje w nazwach, rzadko na początku ale można czasem ;)


Autor postu otrzymał pochwałę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2019, o 16:05 
Offline
Nowy

Dołączył(a): 23 lip 2019
Posty: 19
Pomógł: 0

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


Pytanie dotyczy zaznaczonego fragmentu.
Czy bity w result składa się z tych dwóch części ?
Dalszej czesci jest napisane że to jest caly odczytany bit.
Jak tak to ktora linijka kodu powoduje sklejenie calego bitu z połówek ?

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lip 2019, o 21:08 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Bajtu :)
U góry masz przesunięcie bitowe o 4 bity w lewo (czyli bit4 do bit7) a niżej sumujesz bitowo kolejno odczytane 4 bity (tym razem na pozycjach od bitu0 do bitu3)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2019, o 15:53 
Offline
Nowy

Dołączył(a): 23 lip 2019
Posty: 19
Pomógł: 0

Czyli pierwsze odczytujemy i później przesuwamy a później dodajemy do result ?.

A teraz pytanie skąd sterownik wie że wysyłamy słowo składające z dwóch części jak tylko sterujemy E ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lip 2019, o 17:12 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Zajrzyj do pdf'a od LCD to się wyjaśni. Nota mowi o tym czego i kiedy oczekuje wyświetlacz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 wrz 2019, o 10:23 
Offline
Nowy

Dołączył(a): 23 lip 2019
Posty: 19
Pomógł: 0

Witam.
Jestem teraz przy ADC.
Posiadam płytkę ATB 1.05a
1. Napisalem program i wgywam to nie mam podświetlenia LCD a jak wgrywam projekt Z ćwiczenia LCD to jest. Jak poruszam potencjometr od kontrastu to na chwile jest podświetlenia ale jest pomiar.
2. Pomiar mam tylko 465 na P1 a jak zdejmuje kabelek to mam to 1023.

W czym robie błąd?

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 wrz 2019, o 11:09 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 288
Lokalizacja: Gdańsk
Pomógł: 13

Nie włączyłeś podświetlenia LCD... Domyślnie dla tek biblioteki jest to chyba PA7 (pisze z pamięci)
Czyli w funkcji main muszisz mieć linie:
DDRA |= (1<<PA7);
PORTA |= (1<<PA7);



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 wrz 2019, o 13:37 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Podświetlenie w ATB 1.05a można sobie na stałe jumperkiem włączyć - pod wyświetlaczem LCD

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 wrz 2019, o 17:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

mirekk36 napisał(a):
tylko UWAGA! poradnik dla ludzi o mocnych nerwach

Hahaha nie wierzę,
jak to się stało że wcześniej nie widziałem tego poradnika

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 8 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO