SALKA 0 30 июня, 2010 Опубликовано 30 июня, 2010 · Жалоба КАК НА СИ В IAR КОМПИЛЯТОРЕ ОБЪЯВЛЯТЬ ПРЕРЫВАНИЯ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 23 30 июня, 2010 Опубликовано 30 июня, 2010 · Жалоба #pragma vector=VECTOR_NUMBER __interrupt void interrupt_routine_name(void) { } А что, в документации разве нет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smalcom 0 30 июня, 2010 Опубликовано 30 июня, 2010 · Жалоба А ЗАЧЕМ ТЕБЕ ПРЕРЫВАНИЯ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Datadoc 0 30 июня, 2010 Опубликовано 30 июня, 2010 · Жалоба Меня тоже интересует вопрос прерываний 2х внешних и таймера (на С для WinAVR ) для определения частоты вращения 2х двигателей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 23 30 июня, 2010 Опубликовано 30 июня, 2010 · Жалоба Меня тоже интересует вопрос прерываний 2х внешних и таймера (на С для WinAVR ) для определения частоты вращения 2х двигателей. Там по-другому, более по-человечески interrupt(VECTOR_NUMBER) interrupt_routine_handler(void) { } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Datadoc 0 30 июня, 2010 Опубликовано 30 июня, 2010 · Жалоба Не подскажите может где-то в форуме описана процедура организации прерываний? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 30 июня, 2010 Опубликовано 30 июня, 2010 · Жалоба Не подскажите может где-то в форуме описана процедура организации прерываний?Объясните, что означает "процедура организации прерываний"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirYU 0 30 июня, 2010 Опубликовано 30 июня, 2010 · Жалоба Не подскажите может где-то в форуме описана процедура организации прерываний? А почему обязательно в форуме? В любом букваре по микропроцессорной технике. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Qwertty 0 30 июня, 2010 Опубликовано 30 июня, 2010 · Жалоба Там по-другому, более по-человечески interrupt(VECTOR_NUMBER) interrupt_routine_handler(void) ISR отменили? Наверно надо обновить компилятор, а то на 4.2.2 так и сижу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vetal-Soft 0 30 июня, 2010 Опубликовано 30 июня, 2010 · Жалоба ISR отменили? Наверно надо обновить компилятор, а то на 4.2.2 так и сижу. Так вроде это avr-libc, а не компилятор... :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haldeychik 0 6 июля, 2010 Опубликовано 6 июля, 2010 · Жалоба Для примера: обработка прерывания по совпадению таймера 0 канала А (ATmega48) #pragma vector=TIMER0_COMPA_vect __interrupt void Inter_Timer0_COMPA(void) { } Или: переполнение таймера 1 #pragma vector=TIMER1_OVF_vect __interrupt void Inter_Timer1_OVF(void) { } Описание названий векторов можно посмотреть в хедере на микросхему, в данном случае для IAR это iom48.h Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mp41 0 14 июля, 2010 Опубликовано 14 июля, 2010 · Жалоба Кстати, в ИАРе надо в прерываниях сохранять/восстанавливать SREG или нет? Я что-то разницы не заметил, хотя программа была сложная. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 43 14 июля, 2010 Опубликовано 14 июля, 2010 · Жалоба Кстати, в ИАРе надо в прерываниях сохранять/восстанавливать SREG или нет? Я что-то разницы не заметил, хотя программа была сложная. Если это IAR C/C++ компилятор, то не надо - компилятор сам вставит необходимый код, а если это IAR ассемблер, то надо вставлять вручную. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mp41 0 20 июля, 2010 Опубликовано 20 июля, 2010 · Жалоба Xenia, спасибо, в листингах копаться было неохота. Компилятор IAR C/C++. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться