Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: WinAVR +AVRStudio как подключить функции обработки прерывания Atmega16
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Кастусь Рыжов
Пробовал написать программу на С для атмеги16, бегающий огонек. Первая моя прога. Написал, хотел сделать, чтобы все включалось по прерыванию, а вот как обрабатывать прерывание и написать на С используя стандартные ф-ции из библиотек С не знаю AVRStudio версии4.12 вместе с WinAVR 20060421. Пробовал использовать ф-ю #pragma, правильно или нет? А как вернуться из прерывания ?
В начале проги #include <interrupt.h> и #include <signal.h> есть. Только как все связать- пока каша в голове. Опыта по AVR мало, сам все грызу, ранее учил и юзал однокристалку 8051, 1816ВЕ48\31\51
oran-be
#pragma используется в ИАРЕ.
В Винавре пишется функция SIGNAL(№ прерывания). Например, для И"С:

SIGNAL(SIG_2WIRE_SERIAL)
{
. . .
}

О сохранении и восстановлении контекста компилятор заботится сам.
mdmitry
Посмотрите документацию к WINAVR по написанию прерываний.
Не забудьте размаскировать необходимые прерывания в коде, устанавливающем Вашу конфигурацию.
Успехов.
Elegorod
В WinAVR 20070122 прерывания определяются по-новому (см. Avr-libc manual - Library Reference - <avr/interrupt.h>: Interrupts):
Код
#include <avr/interrupt.h>

ISR(ADC_vect)
{
    // user code here
}

Прерывание кончается, как обычная функция, никакого специального возврата не требуется

PS все-таки придется почитать документацию
Кастусь Рыжов
Цитата(mdmitry @ Aug 4 2007, 20:23) *
Посмотрите документацию к WINAVR по написанию прерываний.
Не забудьте размаскировать необходимые прерывания в коде, устанавливающем Вашу конфигурацию.
Успехов.

Весьма признателен за ваше участие и помощь. Спасибо.

Всех благодарю за участие и помощь.

Цитата(Кастусь Рыжов @ Aug 5 2007, 15:48) *
Весьма признателен за ваше участие и помощь. Спасибо.

Всех благодарю за участие и помощь.


PS: Мудр не тот , кто много знает, а кто знает необходимое.
Это не я сказал, а греческий философ smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.