ATMega8 - bojów ciąg dalszy.

May 27, 2005 6 Replies

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ść?


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