Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не работает прерывание Atmega8
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
maxum
Доброго всем дня!
Помогите разобраться. Не работает прерывание на Atmega8. Код программы:
#include <avr/io.h>
#include <avr/interrupt.h>


void Timer0_init(void)
{
TCNT0=0x00;
TCCR0|=(1<<CS02);
TIMSK|=(1<<TOV0);
sei();
}



ISR(TIMER0_OVF_vect)
{
}



void main_init(void)
{
Timer0_init();
}

int main(void)
{
main_init();
while(1) {
};
}


Написана в AVR Studio 4.13 sp1
При компиляции выдает такие предупреждения:
../main.c:16: warning: return type defaults to `int'
../main.c: In function `ISR':
../main.c:16: warning: type of "TIMER0_OVF_vect" defaults to "int"
../main.c:16: warning: control reaches end of non-void function
aesok
Цитата(maxum @ Dec 17 2007, 14:18) *
Написана в AVR Studio 4.13 sp1


Версия WinAVR какая?

Анатолий.
maxum
WinAVR 20040720
aesok
Цитата(maxum @ Dec 17 2007, 14:41) *


В WinAVR 20040720 нет макросов ISR и XXX_vect. Используйте SIGNAL() и SIG_XXX. А лучше поставте новую версию WinAVR 200705..

Анатолий.
maxum
Спасибо все заработало
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.