ATNEL tech-forum
https://forum.atnel.pl/

Zapalanie różnych diod w jednym warunku
https://forum.atnel.pl/topic20503.html
Strona 1 z 1

Autor:  Dzonzi [ 28 mar 2018, o 06:59 ]
Tytuł:  Zapalanie różnych diod w jednym warunku

Witam
Czy jeżeli mamy taką instrukcję PORTB = (1<<PB5) to czy za PB5 można podstawić zmienną o wartości 0-7 tak żeby w jednym warunku można było zapalać 8 diod?

Autor:  SylwekK [ 28 mar 2018, o 07:27 ]
Tytuł:  Re: Zapalanie różnych diod w jednym warunku

PB5 to nic innego jak cyfra 5 napisana aby łatwiej było się zorientować, o który pin portu chodzi. Jak chcesz ustawić więcej jedynek to zmieniasz ten pierwszy składnik przed przesunięciem czyli "1". Jeśli np. wstawisz tam "3" to zapalisz dwa bity (1+2).

Autor:  Dzonzi [ 28 mar 2018, o 07:30 ]
Tytuł:  Re: Zapalanie różnych diod w jednym warunku

Czyli mogę zrobić tak:
X = 5;
1<<PBX i wtedy zaświeci mi bit o wartości 5?

Autor:  SylwekK [ 28 mar 2018, o 07:32 ]
Tytuł:  Re: Zapalanie różnych diod w jednym warunku

Aj troszkę tam namieszałem, bo to co napisałem tyczy się całego rejestru.

Cytuj:
Czyli mogę zrobić tak:
X = 5;
1<<PBX i wtedy zaświeci mi bit o wartości 5?

Nie, po prostu wstaw samo X zamiast PBX i będzie ok.

Autor:  Dzonzi [ 28 mar 2018, o 07:36 ]
Tytuł:  Re: Zapalanie różnych diod w jednym warunku

Dzięki

Autor:  SylwekK [ 28 mar 2018, o 07:49 ]
Tytuł:  Re: Zapalanie różnych diod w jednym warunku

I zaopatrz się w blubooka od Mirka. Naprawdę warto! To o co pytałeś jest tam pięknie opisane ze wszystkimi szczegółami.

Autor:  rskup [ 28 mar 2018, o 08:53 ]
Tytuł:  Re: Zapalanie różnych diod w jednym warunku

SylwekK napisał(a):
Nie, po prostu wstaw samo X zamiast PBX i będzie ok.
Jak zajrzysz do includowanego pliku z opisem procesora (pewnie pośrednio poprzez includa io.h) to wiele Ci wyjaśni.
Na przykład dla Atmega32 includuje się plik iom32.h i w nim masz:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 5 minutach ]

Czyli
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
jest to po podstawieniu to samo co
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
a (1 << 5) to jest przecież zwykłe matematyczne przesunięcie bitowe równe 32, więc jest to to samo co
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Tylko pierwszy zapis od razu mówi oglądającemu kod co chcesz z jakim pinem zrobić a ostatni zaois nic nie mówi bez sprawdzenia. Więc używana jest dla czytelności pierwsza wersja.
Jak dasz
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
to zapalisz wszystkie bity w PORTB. A to jest to samo co
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


SylwekK napisał(a):
I zaopatrz się w blubooka od Mirka. Naprawdę warto! To o co pytałeś jest tam pięknie opisane ze wszystkimi szczegółami.
Nie tylko warto, ale koniecznie musisz, bo stracisz mnóstwo czasu na wyjaśnianie rzeczy, które Mirek w książce podaje na tacy.

Autor:  Dzonzi [ 28 mar 2018, o 09:07 ]
Tytuł:  Re: Zapalanie różnych diod w jednym warunku

Wszystko jasne. Wy też czasami dobrze tłumaczycie :P

Autor:  SylwekK [ 28 mar 2018, o 09:27 ]
Tytuł:  Re: Zapalanie różnych diod w jednym warunku

Dobrze powiedziane... "czasami" :-D

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/