Mój problem wygląda następująco:
Podłączyłem poprzez przycisk wejście (podciągnięte wewnętrznymi rezystorami) mikrokontrolera z masą. Za jego pomocą planowałem po prostu sterować zapalaniem się diody, która jest podłączona do wyjścia.
Niestety uC nie reaguje na zmiany w żaden widoczny sposób, gdy pin do którego podłączyłem przycisk nie jest podłączony zewnętrznym rezystorem do zasilania.
Kondensatory (ceramiczne 100nF - nie posiadam niestety tantalowych) są pomiędzy Vcc, a GND, AREF i GND, oraz pomiędzy AVcc i GND. Jest także dławik 10uH pomiędzy AVcc i Vcc. RESET oczywiście podciągnięty przez 10kΩ do Vcc.
Gdy nacisnę przycisk dioda świeci "mniej". Po zamianie w switch-u przypadków (naciśnięcie przycisku zapala diodę) wszystko wygląda w porządku, choć dioda nie świeci pełną jasnością.
Próbowałem pisać kod także z pętlami warunkowymi if.
Z tego co wyczytałem w "internetach" podciąganie wejścia, na którym jest przycisk do Vcc przez rezystor zewnętrzny nie powinno być potrzebne.
Taktowanie wewnętrznym kwarcem, fusebity nie ruszane. Sprawdziłem też jak działa na nieużywanym do tej pory mikrokontrolerem (także Atmega8A).
Używanie delay-ów w różnych miejscach kodu w różnych przypadkach zwykle nic nie zmienia, albo sprawia, że dioda "mryga".
volatile z przyzwyczajenia wstawiam.
Przypuszczam, że problem leży w kodzie, choć nie mogę się pozbyć wrażenia, że... wewnętrzne rezystory mają za dużą rezystancję...
)
Pewnie problem jest banalny, ale zaczynam się powoli frustrować.
Mam nadzieję, że temat trafił na dobrą tablicę i tu nic nie pomyliłem.
Podłączyłem poprzez przycisk wejście (podciągnięte wewnętrznymi rezystorami) mikrokontrolera z masą. Za jego pomocą planowałem po prostu sterować zapalaniem się diody, która jest podłączona do wyjścia.
Niestety uC nie reaguje na zmiany w żaden widoczny sposób, gdy pin do którego podłączyłem przycisk nie jest podłączony zewnętrznym rezystorem do zasilania.
Kondensatory (ceramiczne 100nF - nie posiadam niestety tantalowych) są pomiędzy Vcc, a GND, AREF i GND, oraz pomiędzy AVcc i GND. Jest także dławik 10uH pomiędzy AVcc i Vcc. RESET oczywiście podciągnięty przez 10kΩ do Vcc.
Kod: C / C++
Gdy nacisnę przycisk dioda świeci "mniej". Po zamianie w switch-u przypadków (naciśnięcie przycisku zapala diodę) wszystko wygląda w porządku, choć dioda nie świeci pełną jasnością.
Próbowałem pisać kod także z pętlami warunkowymi if.
Z tego co wyczytałem w "internetach" podciąganie wejścia, na którym jest przycisk do Vcc przez rezystor zewnętrzny nie powinno być potrzebne.
Taktowanie wewnętrznym kwarcem, fusebity nie ruszane. Sprawdziłem też jak działa na nieużywanym do tej pory mikrokontrolerem (także Atmega8A).
Używanie delay-ów w różnych miejscach kodu w różnych przypadkach zwykle nic nie zmienia, albo sprawia, że dioda "mryga".
volatile z przyzwyczajenia wstawiam.
Przypuszczam, że problem leży w kodzie, choć nie mogę się pozbyć wrażenia, że... wewnętrzne rezystory mają za dużą rezystancję...
Pewnie problem jest banalny, ale zaczynam się powoli frustrować.
Mam nadzieję, że temat trafił na dobrą tablicę i tu nic nie pomyliłem.