Witam ponownie. Tak się składa, że w moim projekcie musze użyć kawałka portu C jako wyjścia - konkretnie piny 0-4. Wpisuje więc do DDRC wartość 0x1F. Niestety po tej instrukcji procesor zaczyna świrować - konkretnie zaczyna mu pulsować reset (uzywam ukladu DS1813 jako uklad resetu). Pulsowanie oznacza zmianę stanu na wejściu reset procesora - od 0 do 3V (mierzone multimetrem). Inaczej mówiąc po tej operacji procek ciągle sie resetuje. Ktoś potrafi wyjaśnić dlaczego? I jak ten problem obejść?
ATMega8 - bojów ciąg dalszy.
May 27, 2005
6 Replies
jak chcesz piny 0-4 dać jako wyjścia to DDRC=0x0f
ale to raczej nie to
pozdrawiam Wojtek
Wojtek napisał(a):
Po części to - bo jakakolwiek operacja na DDRC psuje mi reset. Pozatym wpisanie tam 0x0f ustawi jako wyjścia piny 0..3 :)
Adrian Czapek wrote: > Wojtek napisał(a): >
fakt, nie umiem liczyć :)
ale wydaje mi się że błąd tkwi gdzie indziej bo ja dzisiaj pisałem program który wykorzystuje nóżki PC0-PC5 jako wyjścia i nie miałem żadnego problemu z resetem...
W.
Może WATCHDOG jest włączony ?
hujózek napisał(a):
Defaultowo jest chyba wyłączony, a ja go w programie też nie włączam więc chyba to nie to. Inna sprawa, że wywaliłem tego DS1813 i zamiast niego zrobiłem klasyczny układ resetu z kondensatorem 10uF i rezystorem
10k i problem zniknął. Dziwne...
A nie masz przywartych tych pinow do czegoś (GND/VCC)? Jeśli by tak było to przy słabym zasilaniu miałby szpilkę na VCC, co zauwazy watchdog.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required