miszczo napisał(a):
Btw czym róźni się taki zapis
PORTB |= _BV(0)
od takiego
PORTB = _BV(0)
Czy w obu przypadkach w rejestrze PORTB pojawi się wartość 0x01?
Ja teraz bardzo przepraszam, ale muszę koledze (tak oczywiście pół żartem pół serio) udzielić oficjalnej nagany na naszym forum. Sądzę, że kolega posiada książkę "Mikrokontrolery AVR Język C Podstawy programowania" ? Toż poświęciłem w niej TYYYYYYYYYYYLE czasu aby wyjaśnić w SUPER szczegółach zasady stosowania tzw przesunięć bitowych, i polecałem aby to je właśnie stosować a nie posługiwać się tymi kocimi makrami _BV()
Więc mam nadzieję, że kolega się nie obrazi na mnie, że odeślę go do wspomnianej książki i poproszę o przeczytanie stosownego rozdziału, gdzie kurczę specjalnie fikuśne rysunki własnymi łapkami tworzyłem aby wyjaśnić jak działają przesunięcia typu np:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
albo
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
to jest milion razy bardziej czytelne niż po stokroć kocie makra _BV() i tylko dlatego nie udzielę na to pytanie odpowiedzi. Chyba, że kolega poczyta wspomniany rozdział i zechce dopytać o coś na temat przesunięć, aby ew uzupełnić wiedzę przekazaną w książce, jeśli coś jeszcze będzie niezrozumiałe. Wtedy nadlecę jak jastrząb i postaram się wyjaśnić wszystko.
_________________
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 ]