реклама на сайте
подробности

 
 
> Не хочет работать прерывание компаратора в GCC+Eclipce.
Dikoy
сообщение Mar 12 2012, 21:03
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676



Ну очень хочу зажечь светодиодик в прерывании. Не получается...
Сразу скажу - код был отлажен в IAR, в том же железе, инициализация компаратора и т.д. корректные. В IAR всё работает как часы, в клипсе - затыкается.

GCC+Eclipce. Инициализирую:
Код
    PORTD &= ~((1<<6)|(1<<7)); // лапы компаратора на вход
    DDRD  &= ~((1<<6)|(1<<7));

    ADCSRA &= ~(1<<ADEN); // выключаю АЦП
    ACSR  = (1<<ACBG)|(1<<ACIE)|(1<<ACIS1)|(1<<ACIS0);
    SFIOR |= (1<<ACME);
    ADMUX = 6;  // настройка компаратора на 6 вход АЦП
    _delay_ms(1);
    ACSR |= (1 << ACI); // сброс флага прерывания, чтоб не возникло сразу после включения
    _delay_ms(1);

    sei();

Собственно, кусок скопирован из IAR.
Далее если делать так, то всё работает:
Код
        if(ACSR & (1 << ACO) ) ON(LED);
                      else OFF(LED);


А вот если так, то фиг:

Код
ISR(ANA_COMP_vect) {

    ON(LED);

}


То есть софтовый опрос флага компаратора работает, значит железных проблем или проблем с инициализацией нет.
Не работает именно прерывание.
Куда порыть? В GCC я новичок...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dikoy
сообщение Mar 13 2012, 14:58
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676



ATmega8.
Посмотрел в списке прерываний из ДШ, адрес 0x010 у компаратора. Как он получается в GCC так не понял, но хидер iom8.h из комплекта компилятора.

Про варнинг на 90% уверен:
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Mar 13 2012, 15:54
Сообщение #3


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



А обработчик у вас не в cpp-файле?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dikoy   Не хочет работать прерывание компаратора в GCC+Eclipce.   Mar 12 2012, 21:03
- - _Артём_   Возможно у вас не устанавливается флаг прерывания ...   Mar 13 2012, 12:41
- - Dikoy   Как могут быть неправильно настроены условия возни...   Mar 13 2012, 13:27
|- - _Артём_   Цитата(Dikoy @ Mar 13 2012, 15:27) Как мо...   Mar 13 2012, 13:58
- - Dikoy   По F3 ANA_COMP_vect уводит в хидер: Код/* Analog C...   Mar 13 2012, 14:28
|- - _Артём_   Цитата(Dikoy @ Mar 13 2012, 16:28) По F3 ...   Mar 13 2012, 14:38
|- - _Артём_   Цитата(Dikoy @ Mar 13 2012, 16:58) ATmega...   Mar 13 2012, 15:26
|- - _Артём_   Цитата(AHTOXA @ Mar 13 2012, 17:54) А обр...   Mar 13 2012, 17:07
||- - AHTOXA   Цитата(_Артём_ @ Mar 13 2012, 23:07) А чт...   Mar 13 2012, 18:11
|- - Dikoy   Цитата(AHTOXA @ Mar 13 2012, 19:54) А обр...   Mar 13 2012, 20:09
- - ReAl   А всё равно. Цитата(avr/interrupt.h)#ifdef __cplus...   Mar 13 2012, 16:56
- - Dikoy   Нее... Обработчик есть... @0000027E: __vector_16 ...   Mar 13 2012, 21:19
- - _Pasha   Ну Вы хе-хе-хе Зогадко просто решается. В приве...   Mar 14 2012, 02:37
|- - _Артём_   Цитата(_Pasha @ Mar 14 2012, 04:37) Зогад...   Mar 14 2012, 10:46
|- - _Pasha   Цитата(_Артём_ @ Mar 14 2012, 13:46) В чё...   Mar 14 2012, 11:04
|- - _Артём_   Цитата(_Pasha @ Mar 14 2012, 13:04) Вот о...   Mar 14 2012, 11:13
- - _Pasha   Цитата(_Артём_ @ Mar 14 2012, 13:46) В чё...   Mar 14 2012, 11:21
- - Dikoy   Паша, прежде чем ржать глянули бы в ДШ. Сигнал бер...   Mar 14 2012, 12:33
|- - _Артём_   Цитата(Dikoy @ Mar 14 2012, 14:33) Оказал...   Mar 14 2012, 12:56
- - Dikoy   Завязывать надо с С++ и писюковыми методами на МК....   Mar 14 2012, 13:04
|- - _Артём_   Цитата(Dikoy @ Mar 14 2012, 15:04) Завязы...   Mar 14 2012, 13:22
|- - Сергей Борщ   QUOTE (Dikoy @ Mar 14 2012, 15:04) Завязы...   Mar 14 2012, 16:01
- - Dikoy   На х32. На х8 - не стоит.   Mar 14 2012, 14:13
- - IgorKossak   Скрыл холивар. Модератор.   Mar 14 2012, 14:15
- - Dikoy   Ок! Лучше в почту.   Mar 14 2012, 17:20


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 22:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016