No i dziala. Ale juz na przyklad dodanie po linii PORTB ^= 8; jeszcze jednego del(); wiesza w tym miejscu procesor. Jest to w sumie tylko 1 przyklad jak go mozna zawiesic. Nie zmienialem w nim nic oprocz dzielenia zegara przez 8.
Wie ktos co z nim moze byc ? Probowalem w sumie tez zupelnie innego kompilatora i bylo dokladnie to samo. Testuje to na plytce ZL2AVR.
Didn't find your answer? Ask the community — no account required.
a to chyba wisi na ostatnim del(): while (1) { del(); PORTB ^= 1; PORTB ^= 2; del(); PORTB ^= 4; del(); PORTB ^= 8; }
to wisi na jedynym del(): while (1) { del(); PORTB ^= 8; }
B
bagno
Probowalem rozne linie roznych portow i zawsze to samo. A programator nie powinen miec wplywu bo sa bufory miedzy nim a komputerem (TTL 244). Chyba nie sprawdzilem co bedzie jak go odepne. Przeszedlem teraz na ATMEGA8 i przez chwile mialem wrazenie, ze sie tak samo miesza. Ale doprowadzilem do porzadku wszystkie ustawienia i wyglada na to, ze na ATMEGA8 dziala. Chociaz na 100% pewny nie jestem czy sie zaraz nie zacznie znowu wieszac.
Zauwazylem, ze najbardziej sie wieszalo przy krotkich czasach opoznien. Jak zmienialem tam na delay_ms(100) to sie raczej nie wieszalo. Pojecia nie mam co z tym jest.
M
mw158979
"bagno" snipped-for-privacy@o2.pl schrieb
A co masz podpiete pod te MOSI/PB3? Moze przypadkiem programator, bezposrednio?
hej
M
mw158979
To zalezy czy programator zechce je wylaczyc. Niby powinien, ale najprostszym sposobem na sprawdzenie jest odlaczenie.
Po czym poznajesz, ze sie wiesza?
hej
B
bagno
Po tym , ze przestaje wykonywac program. Mam podpiete diodki i widze gdzie sie zatrzymuje.
D
dziadek Ben
Twojego przypadku to pewnie nie dotyczy, ale mo¿e bêdzie przestrog± dla innych - dodanie instrukcji wywala³o mi programy (wiesza³y siê lub sz³y w krzaki) w dwóch przypadkach:
- gdy nie zd±¿a³em na czas od¶wie¿yæ Watchdoga,
- gdy w procedurze da³em PUSH bez POP-a (lub na odwrót).
J
J.F.
A zagladales w kod ? Moze jakas glupote wygenerowal.
J.
T
T.M.F.
Kompilujesz na jakim poziomie optymalizacji? -O0 czy -Os? Delay nie moze byc kompilowana z -O0. Pokaz wydenerowany kod w assemblerze.
B
bagno
U¿ytkownik "T.M.F." snipped-for-privacy@nospam.mp.pl> napisa³ w wiadomo¶ci news:h2838o$472$ snipped-for-privacy@atlantis.news.neostrada.pl...
Ten kod nijak się ma do kodu, który pokazałeś w swoim pierwszym poście. A jeśli nawet tak prosty program ci nie działa, to musisz mieć coś zwalone w sprzęcie. Pokaż schemat.
B
bagno
U¿ytkownik "Zbych" snipped-for-privacy@onet.pl napisa³ w wiadomo¶ci news:h287d8$a9d$ snipped-for-privacy@news.mm.pl...
Moze faktycznie to byla jakas wersja po przerobkach. To co tu wczesniej wklejalem to byl najkrotszy kod powodujacy zawieszanie a potem robilem rozne inne testy.
formatting link
Tam nie ma co byc zepsute. Chyba, ze to w jakis sposob nie wspolpracuje z ta ATMEGA88. Na ATMEGA8 na razie chodzi.
T
T.M.F.
W dniu 28.06.2009 20:54, bagno pisze:
Ale to co tu wkleiles niczego nie zawiesza - z jakiegos powodu petla sie skasowala i masz naprzemiennie z pelna predkoscia wystawiane na port 0 i
255, a ze tak kilka mln razy na sekunde to migania diody nie widzisz. Pokaz prawdziwy przyklad robiacy problemy zamiast sciemy.
Jak rozumiem na tej plytce zamieniles ATMega8 na ATMega88? Tu masz liste roznic pomiedzy tymi procesorami:
formatting link
ze w AVR Studio wybrales wlasciwy procesor jako target, znaczy ATMega88? Zauwaz, ze roznice sa spore, w tym fuse bitow. Takze nie mozesz po prostu przelozyc procesora, zaladowac ten sam kod i liczyc, ze zadziala.
B
bagno
U¿ytkownik "T.M.F." snipped-for-privacy@nospam.mp.pl> napisa³ w wiadomo¶ci news:h28ftu$441$ snipped-for-privacy@nemesis.news.neostrada.pl...
Nic z tego nie rozumiem. Zmontowalem to drugi raz i na razie dziala. Nie wiem co bylo nie tak.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.