Witam,
Mam taki programik
W porcie D6 oraz D7 mam diody.
W portach C1 oraz C2 mam przyciski (zwierające do masy)
Założenia były takie, że gdy zewrę PINC1 do masy, to gaśnie dioda z portu D6,
A gdy zewrę PINC2 to gaśnie dioda z portu D7.
Niestety program nie działa tak jak ma .
Gdy zwieram PC2 to dioda z portu D7 tylko przygasa.
A gdy zwieram PC1 to dioda z portu D6 normalnie gaśnie.
Dlaczego?
Mam taki programik
#define F_CPU 8000000L
#include <avr/io.h>
#include <util/delay.h>
int main(void){
DDRD = 0xFF; // port d jako wjscie
DDRC = 0x00; // port C jako wejscie
PORTD = 0xFF; //wszystko na porcie d stan wysoki
PORTC = 0xFF; // wszysko na porcie C stan wysoki
while(1)
{
if(!(PINC & 0x04)){ //JelSli PINC1 zewrzemy do masy
PORTD &= ~_BV(6); // To na porcie D 6 Pin powinien mieć 0
}
if(!(PINC & 0x02)){ //JelSli PINC2 zewrzemy do masy
PORTD &= ~_BV(7); // To na porcie D 7 Pin powinien mieć 0
}
else
PORTD = 0xFF;
}
}
W porcie D6 oraz D7 mam diody.
W portach C1 oraz C2 mam przyciski (zwierające do masy)
Założenia były takie, że gdy zewrę PINC1 do masy, to gaśnie dioda z portu D6,
A gdy zewrę PINC2 to gaśnie dioda z portu D7.
Niestety program nie działa tak jak ma .
Gdy zwieram PC2 to dioda z portu D7 tylko przygasa.
A gdy zwieram PC1 to dioda z portu D6 normalnie gaśnie.
Dlaczego?