uwalony proc czy moja głupota?

Feb 17, 2007 12 Replies

Witam, mam taki problem, walcze sobie ostatnio z prockiem ATmega32, no i trafilem na problem - nie udaje mi się smieniać stanu portów PC2, PC3 i PC4 - 2 pierwsze nają ma stałe logiczne 1 na wysjciu a PC4 ma zero. funkcje jakimi smieniam z powodzeniem stany na innych portach, tutaj nie chcą działać, polecenie sbi(DDRC,PC2); cbi(PORTC,PC2); nie zmienia stanu na 0... uzywam WinAVR-20040720, który te polecenia niby obsługuje, co z resztą widać po innych portach. nic do tych portów nie podłaczałem, poza wyświatlaczem LCD (mialy być to wyjscia E, RS,R/W), no i taki zonk.. poradzcie mi, czy spalilem w jakis niewiadomy sposob te porty, czy tez po prostu trzeba im jakiś rejest jeszcze ustawic?



aha, wlasnie port PD7 identycznie przestał reagować na polecenia (pozostał w stanie niskim) - obciążony był ledem przez rezystor 1k (5mA) wiec raczej nie powinien zostac przeciazony (producent podaje 20mA) więc juz nic nie rozumiem ...

Może włączyłeś JTAG ?

Paweł

Dnia Sat, 17 Feb 2007 18:27:51 +0100, Paweł napisał(a):

Hint: JTAG jest włączony domyślnie, podobnie jak oscylator RC na

1MHz(przynajmniej w MEGA162). Miałem kiedyś podobny problem i nawet zdążyłem procka wymienić zanim się zorientowałem, że jednak połowy portu nie ubiłem lecz mi JTAG ją blokował - pisałem już kiedyś o tym na grupie

Paweł napisał(a):

Albo nie wyłączyłeś, bo na "dzień dobry" jest włączony. Przyznam, że nie patrzyłem teraz do datasheeta czy to faktycznie te porty, ale skutek się zgadza. Wyłączasz go oczywiście Fusebitami.

Użytkownik "Arczi" snipped-for-privacy@te.spam napisał w wiadomości news:er7v87$q87$ snipped-for-privacy@walbrzych.wlb.vectranet.pl...

zgadza się ;) dokładnie te bity (pc2 ..pc5) teraz bede sie uczył jak sie to wyłacza...

Użytkownik "nuclear" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:er9ag3$4kn$ snipped-for-privacy@news.onet.pl...

tak sobie patrze i widze że to chyba chodzi o to ze w rejestrze MCUCSR trzeba przestawić bit JTB na 1 ,ale nie wiem jak to zrobić, domyslam sie tylko ze polecenie sbi(MCUCSR,JTB); nie zadziała ;)

Dnia Sun, 18 Feb 2007 11:57:57 +0100, nuclear napisał(a):

Eeee? Przestawiasz odpowiedniego fuse'a korzystając z programatora ISP i po zabawie :)

Użytkownik "badworm" snipped-for-privacy@post.pl napisał w wiadomości news:68ysn4zzltid$. snipped-for-privacy@badworm.pl...

hehe, teraz juz wiem ;) to mój pierwszy procek, i jeszcze nie wszystkie oczywiste rzeczy są oczywiste, ale szybko sie dokształcam, na razie nawiazalem komunikacje z wyswietlaczem, teraz sie biore za 1wire...

aż mi wstyd ze tego wczesniej nie znalazłem ;) (uzywam ISP programer) a tak serio to mam problem z programmers notepad - znikło mi okienko w którym pokazuje przebieg kompilacji, i nie moge go znalezc, i nie wiem co jest zle...

witam, ponownie, moze ktoś mi powie czemu mi pwm nie chce działac? bo zaczynam wątpić w to ze jakkolwiek to rozumiem..

w procku atmega32, pin PB3 moze niby pracować jako PWM. z tego co zrozumialem w pdf, ustawiam go jako wyjscie , a potem ustawaim bajty TCCR2 i OCR2 sbi(DDRB,PB3); TCCR2 = 0b01111110; //fast mode PWM, 256 prescaler OCR2 = 128;

no i wg mnie wiecej nic nie powinno juz być potrzebne, a tu lipa, nie dziala, chociaz byłem pewny ze bedzie pracować z wypełnieniem jakieś 0.5 trzeba jeszcze jakis rejestr ustawić o którym nie wiem?

nie pamiętam tak z doskoku co trzeba ustawić, ale w datasheet-cie jest to opisane w sekcji timerów... Zresztą zdaje się, że na stronie atmela są jakieś przykłady, natomiast jak wbijesz w googla: atmega PWM example, to zapewne coś znajdziesz... - zaznaczam że nie szukałem...

Pozdrawiam Darek

Użytkownik "Darek" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:erbep5$bk7$ snipped-for-privacy@news.onet.pl...

heh, w sumie za szybko zapytałem - znalazłem to, po prostu pomieszały mi sie rejestry, powinno być sbi(DDRB,PB3); TCCR0=121; //01111001 OCR0=x;

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required