Witam.
ATmega8
avr-gcc (na linuksie)
programator na USB zgodny z stk500v2
Eksperymentuje sobie z Tym prockiem i mam mały problem. Wejścia µC są strasznie wrażliwe na.... właśnie... nie bardzo wiem na co, ale podejrzewam zewnętrzne pola elektryczne.
Otóż napisałem prosty programik, który z początku wyglądał tak:
Spodziewałem się, że po wpięciu PD0 od + będzie działać... nie działało.
Zadziałało natomiast tak:
Tylko że to trochę odwraca sprawę do góry nogami bo teraz PD0 musi być wpięty do masy. Program w tym stanie... działa... ale jak tylko zbliżę palca na 1,5cm do układy diody (podpięte do portu C) wariują. Wydaje mi się, że skoro wejścia są podciągnięte to nie będzie problemów.
Czy takie zachowanie µC jest normalne ?? Co poradzić z tak czułymi wejściami ??
Właściwie to moim celem jest napisanie programiku dla klawiatury matrycowej. Wiem że jest tego pełno na necie, ale chce uczyć, więc chce to zrobić sam
PS jeżeli użyje DDRD = 0x00; i PORTD = 0x00; to znaczy że wejścia nie będą podciąganie... czyli będą złączone przez opór z masą, czy będą "wisiały luzem" ??
ATmega8
avr-gcc (na linuksie)
programator na USB zgodny z stk500v2
Eksperymentuje sobie z Tym prockiem i mam mały problem. Wejścia µC są strasznie wrażliwe na.... właśnie... nie bardzo wiem na co, ale podejrzewam zewnętrzne pola elektryczne.
Otóż napisałem prosty programik, który z początku wyglądał tak:
int main(void){
DDRC = 0xFF;
DDRD = 0x00;
while(1){
if (PIND == 0x01) {
PORTC = 0xFF;
}
return(0);
}Spodziewałem się, że po wpięciu PD0 od + będzie działać... nie działało.
Zadziałało natomiast tak:
int main(void){
DDRC = 0xFF;
DDRD = 0x00;
PORTD = 0xFF;
while(1){
if (PIND == 0xFE) {
PORTC = 0xFF;
} else PORTC = 0x00;
}
return(0);
}Tylko że to trochę odwraca sprawę do góry nogami bo teraz PD0 musi być wpięty do masy. Program w tym stanie... działa... ale jak tylko zbliżę palca na 1,5cm do układy diody (podpięte do portu C) wariują. Wydaje mi się, że skoro wejścia są podciągnięte to nie będzie problemów.
Czy takie zachowanie µC jest normalne ?? Co poradzić z tak czułymi wejściami ??
Właściwie to moim celem jest napisanie programiku dla klawiatury matrycowej. Wiem że jest tego pełno na necie, ale chce uczyć, więc chce to zrobić sam
PS jeżeli użyje DDRD = 0x00; i PORTD = 0x00; to znaczy że wejścia nie będą podciąganie... czyli będą złączone przez opór z masą, czy będą "wisiały luzem" ??