Уже третий день пытаюсь запустить функцию от прерывания по сигналу на USART
Все компиляторы ругаются, в ВинАвр синтаксис один, в CodeVisionAVR Синтаксис, другой... по книге вообще бред получается! нихрена не понимаю. Может кто прояснит!?
МС - Attiny2313
Компилятор - WinAvr
Язык - C
Накидайте плиз кусочек кода в котором по прерыванию (Приём на УСАРТ) функция N вызывается....
бот_м_16
Отправлено: 24 Января, 2009 - 11:59:58
Супермодератор
Сообщений всего: 1033
Дата рег-ции: Окт. 2008
Запусти cvar в мастере кода сделай настройку потом ctrl+c ctrl+v и будет тебе счастье
ЗЫ
А ваабще иди читай курс avr123.nm.ru тебе нужно z5
redcat
Отправлено: 24 Января, 2009 - 12:51:24
Главнокомандующий
Сообщений всего: 387
Дата рег-ции: Янв. 2009
Там он использует компилятов Codevision AVR, а это мне не подходит. Куча функций не работает в других компиляторах из-за того, что библиотеки этих функций есть только в CVAVR. Это не позволяет глубоко изучать С AVR.
Например в данном примере - interrupt [USART_RXC], другой кмпилятор будет ругаться на квадратные скобки.....
Короче я так понимаю без ассемблера тут не обойтись.
бот_м_16
Отправлено: 25 Января, 2009 - 14:48:04
Супермодератор
Сообщений всего: 1033
Дата рег-ции: Окт. 2008
зачем асм? просто в скобки поставь номер вектора прирывания из дс
ЗЫ
А чем cvavr не угодил ?
redcat
Отправлено: 26 Января, 2009 - 12:44:32
Главнокомандующий
Сообщений всего: 387
Дата рег-ции: Янв. 2009
Странно! номер не проходит, компилятор ругается.
Компилятор думае что обьявляю функцию interrupt(vector_nr){}...
Точно работают конструкци вида:
int __vector_3() //прерывание по совпадению таймера с OCR2
{
PORTD |= 1; //Установить младший бит порта D
sei(); //Глобальное разрешение прерываний
return(0);
}
redcat
Отправлено: 27 Января, 2009 - 09:35:29
Главнокомандующий
Сообщений всего: 387
Дата рег-ции: Янв. 2009
ISR(vector)
{
;
}
ВОТ!
Функция interrupt в новой версии отсутствует!
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.