Прерывания В Среде Winavr

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
partizan
Родился
Сообщения: 4
Зарегистрирован: Пн июл 05, 2010 16:02:13

Прерывания В Среде Winavr

Сообщение partizan »

Здравствуйте.Мне нужно реализовать прерывание,которое запускается при появление 0 уровня на ножке int0 или int1 МК Atmega16.Как пишется сама функция прерывания в среде WinAVR на языке C?Зарание благодарю!
Shplv
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Пт июн 04, 2010 19:24:26

Re: Прерывания В Среде Winavr

Сообщение Shplv »

partizan писал(а):Как пишется сама функция прерывания в среде WinAVR на языке C?

interrupt(VECTOR_NUMBER) interrupt_routine_handler(void)
{
}
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Прерывания В Среде Winavr

Сообщение ARV »

прерывание в WinAVR определяется не так, как было тут посоветовано! а вот как:

Код: Выделить всё

#include <avr/io.h>
#include <avr/interrupt.h>
ISR(INT0_vect){
   // тут ваш обработчик
}
но наш феникс-ардуино вам посоветовал толковое - прислушайтесь.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
romazan
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Чт май 21, 2009 13:54:07
Откуда: Москва
Контактная информация:

Re: Прерывания В Среде Winavr

Сообщение romazan »

SIGNAL(INT0_vect)
{
asm("cli");
...........
...........
asm("sei");
};

int main()
{
GICR=0xC0;
SREG|=0x80;
asm("sei");
while(1)
{
};
}
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Прерывания В Среде Winavr

Сообщение ARV »

макрос SIGNAL считается устаревшим и его использование в новых проектах не рекомендуется - его поддержка оставлена лишь для совместимости со старыми проектами. вместо него используйте макрос ISR - как я и советовал. его возможности шире.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Re: Прерывания В Среде Winavr

Сообщение Aheir »

Оптимизм х (Опыт + Знания) = const
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»