wołam @SuperFi "DDRD to rejestr kierunkowy musisz ustawic wszystkie 3 piny jako wyjscie, jak chcesz zanegowac pin to nie piszesz 0<<PXx tylko PORTx&=~(1<<PXx) a jak ustawiasz to piszesz PORTx|=(1<<PDx) bo tak ruszasz tylko jeden bit, a nie caly port
tak samo PORD^=1<<PD4; jak jest 0 ustawia 1, a jak 1 to 0, nie mozna przesuwac bitowo 0, nie wypada"
@Thexil tak, PORTD&=~(1<<PD4); oznacza ustawianie 0 na pinie 4 portu D
PORTD np: 1000 0000 ~1<<PD4: 1111 0111 &= 1000 0000 Widzisz, nawet jakby była wcześniej jedynka na PD4 to po tej operacji zostałoby tam 0, a reszta byłaby bez zmian
@SuperFi: @Wina_Segmentacji: teraz tak. Zostawimy działanie np. przez 3s w 1 stronę. Potem ma się zatrzymać. A w 2 ma się kręcić po sygnale z pilota. Gdzieś miałem bibliotekę... zaraz poszukam :) I diodę IR muszę podłączyć
int main(void)
{
PORTD = 1<<PD6;
PORTD = 1<<PD5;
PORTD
"DDRD to rejestr kierunkowy musisz ustawic wszystkie 3 piny jako wyjscie, jak chcesz zanegowac pin to nie piszesz 0<<PXx tylko PORTx&=~(1<<PXx) a jak ustawiasz to piszesz PORTx|=(1<<PDx) bo tak ruszasz tylko jeden bit, a nie caly port
tak samo PORD^=1<<PD4; jak jest 0 ustawia 1, a jak 1 to 0, nie mozna przesuwac bitowo 0, nie wypada"
PORTx&=~(1<<PD4)?
Komentarz usunięty przez autora
PORTD np: 1000 0000
~1<<PD4: 1111 0111
&= 1000 0000
Widzisz, nawet jakby była wcześniej jedynka na PD4 to po tej operacji zostałoby tam 0, a reszta byłaby bez zmian
#include
#include
int main(void)
{
DDRD|=((1<