danny napisał(a):
Skoro powiedzzmy _BV()) oznacza (1<<0), _BV(1) (1<<1), to w pętli if: (zmienna jest typu uint8_t)
No widzisz już na samym początku sam wprowadzasz się w stan złej hipnozy używając kocich operatorów _BV zamiast normalnych przesunięć bitowych. Z tym to jest jak z reklamą margaryny, która ponoć jest tak dobra jak masło. A skoro tak to po co męczyć się margaryną ?
Po co męczyć się kocim _BV()
zobaczysz, że jak przejdziesz na (1<<x) to od razu będzie po pierwsze jaśniej - piszę o tym sporo w bluebooku przecież.
http://atnel.pl/mikrokontrolery-avr-jezyk-c.htmldanny napisał(a):
Natomiast nie potrafię zatrybić czegos takiego:
to przetłumaczmy to sobie najpierw na ludzki język:

język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
czyli
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
no bo przecież
najmniejsze wyrażenie jakim jest np niewątpliwie:
1<<0 oznacza co ? sam wiesz jest =1
1<<1 oznacza co ? sam wiesz jest =2
natomiast
1 | 2 = 3bo
Cytuj:
0b00000001
0b00000010 OR
------------
0b00000011 (3)
teraz jaśniej ?

_________________
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 ]