przerw. od przechwycenia AVR

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
nasiono
-
Posty: 46
Rejestracja: 29 lip 2005, 0:01

przerw. od przechwycenia AVR

Post autor: nasiono » 13 sie 2005, 22:08

Witam.
Mam kolejny problem tym razem z przerwaniami napisałem taki program żeby to wszystko przetestować ale kompilator wysypuje

WAJH.c:17: error: `TICIE1' undeclared (first use in this function)
WAJH.c:17: error: (Each undeclared identifier is reported only once
WAJH.c:17: error: for each function it appears in.)
WAJH.c:24:2: warning: no newline at end of file

z dokumentacji wynika ze to jest bit 3 wiec gdy zrobie
TIMSK=1<<3;
kompiluje sie ale znowu w symulatorze(avrstudio) gdy symuluje przerwanie
okazuje sie ze licznik stoi w miejscu i zakażdym razem taką tesz wartośc pokazuje

naprawia sie to gdy wykasuje linijke TCCR1B=1<<ICES1; zaczyna hulac ale trace znów możliwośc ustawienia zbocza kto mi odpowie dlaczego tak sie dzieje z
1. TICIE1
2. zatrzymanym licznikiem gdy ustawione jest zbocze.

[ Dodano: 13-08-2005, 23:14 ]
#include <avr\io.h>
#include <avr\signal.h>
#include <avr\interrupt.h>

int main(void)
{


DDRB = 0;
PORTB = 0;
DDRB = 0;
PORTB = 0;

TCCR1B=3;//presc 8
TCNT1=49911;
TCCR1B=1<<ICES1;
TIMSK=1<<TICIE1;//POZWOLENIE NA PRZERWANIE W WYNIKU PRZECHWYCENIa
sei();

while(1);
}
SIGNAL(SIG_INPUT_CAPTURE1)
{PORTB = 0xFF;
}

[ Dodano: 15-08-2005, 12:58 ]
Jusz sobie poradziłęm
Temat zamknięty

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 16 sie 2005, 8:23

TCCR1B=3;//presc 8
TCNT1=49911;
TCCR1B=1<<ICES1;// wybranie zbocza i jednocześnie wyłączenie licznika!!!

Jeśli powyższy opis nie pomaga, napiszę bardziej dosadnie:

Kod: Zaznacz cały

TCNT1=49911; 
TCCR1B=1<<ICES1 | 3; // !!!
Albo

Kod: Zaznacz cały

TCCR1B=3;//presc 8 
TCNT1=49911; 
TCCR1B|=1<<ICES1;// !!!
;) - po ponownym przeczytaniu swojej wypowiedzi dodaję uśmieszek. Nie chciałem aby całość brzmiała złośliwie i proszę tego tak nie odbierać. Takiej formie zawinił pośpiech :?
Pozdrawiam

ODPOWIEDZ