Witam,
Zaczynam z C i mam mały problem,
Bawię się ze zmianą stanów portów.
Mam raki kod:
No i dioda podłączona do portu D.7 sobie miga.
Chciałem sobie teraz napisać coś takiego:
I czegoś takiego nie można skompilwoać.
Dokładnie chodzi o ta linijkę
PORTD = ~0x80; Tutaj pojawia się błąd.
Natomiast gdy tam coś takiego:
PORTD &= ~0x80; to program się kompiluje.
Dlaczego tak się dzieje?
Zaczynam z C i mam mały problem,
Bawię się ze zmianą stanów portów.
Mam raki kod:
#include <avr/io.h>
#include <util/delay.h>
int main(void){
DDRD = 0x80; // port d.7 jako wyjscie
PORTD = 0x00;
while(1){
PORTD ^= 0x80;
_delay_ms(330);
}
}
No i dioda podłączona do portu D.7 sobie miga.
Chciałem sobie teraz napisać coś takiego:
#include <avr/io.h>
#include <util/delay.h>
int main(void){
DDRD = 0x80; // port d.7 jako wyjscie
PORTD = 0x00;
while(1){
PORTD = 0x80;
_delay_ms(330);
PORTD = ~0x80;
_delay_ms(330);
}
}
I czegoś takiego nie można skompilwoać.
Dokładnie chodzi o ta linijkę
PORTD = ~0x80; Tutaj pojawia się błąd.
Natomiast gdy tam coś takiego:
PORTD &= ~0x80; to program się kompiluje.
Dlaczego tak się dzieje?
