Ghost
Guest
Tue Nov 14, 2006 11:09 am
Witam,
Mam taki problem: jesli wlacze w przerwania w Atmega128 16MHz -
konkretnie w kodzie C wystepuja dwie instrukcje (obie musza byc inaczej
efektu nie ma):
TIMSK = _BV(TOIE0);
sei();
A nastepnie w kodzie
_delay_ms(5);
Program zawiesza sie wlasnie na tym delay'u (podczas debugowania w jtagu).
Co to moze byc?
Mam wrazenie, ze stos leci w kosmos przy jednoczesnym wlaczeniu przerwan i
delaya, ale nie daje za to glowy.
TIA
Pozdrawiam,
Ghost
Ghost
Guest
Tue Nov 14, 2006 11:12 am
Grzegorz Kurczyk
Guest
Tue Nov 14, 2006 3:12 pm
Użytkownik Ghost napisał:
Quote:
Witam,
Mam taki problem: jesli wlacze w przerwania w Atmega128 16MHz -
konkretnie w kodzie C wystepuja dwie instrukcje (obie musza byc inaczej
efektu nie ma):
TIMSK = _BV(TOIE0);
sei();
A nastepnie w kodzie
_delay_ms(5);
Program zawiesza sie wlasnie na tym delay'u (podczas debugowania w jtagu).
Co to moze byc?
Mam wrazenie, ze stos leci w kosmos przy jednoczesnym wlaczeniu przerwan
i delaya, ale nie daje za to glowy.
A oglądałeś jak to wygląda w kodzie wynikowym ?
Pozdrawiam
Grzegorz
Ghost
Guest
Wed Nov 15, 2006 12:51 am
Użytkownik "Grzegorz Kurczyk" <grzegorz.usun.to@control.slupsk.pl> napisał w
wiadomości news:ejcilm$fbv$1@atlantis.news.tpi.pl...
Quote:
Użytkownik Ghost napisał:
Witam,
Mam taki problem: jesli wlacze w przerwania w Atmega128 16MHz -
konkretnie w kodzie C wystepuja dwie instrukcje (obie musza byc inaczej
efektu nie ma):
TIMSK = _BV(TOIE0);
sei();
A nastepnie w kodzie
_delay_ms(5);
Program zawiesza sie wlasnie na tym delay'u (podczas debugowania w
jtagu).
Co to moze byc?
Mam wrazenie, ze stos leci w kosmos przy jednoczesnym wlaczeniu przerwan
i delaya, ale nie daje za to glowy.
A oglądałeś jak to wygląda w kodzie wynikowym ?
Juz mam powod. Wciagalem jedynie interrupt.h brakowalo signal.h - jezyk C
zawiera naprawde spory potencjal pulapek na czlowieka.
Pozdrawiam,
Ghost