Страница 1 из 1
AT90USB162 проблема с компаратором
Добавлено: Сб фев 09, 2013 21:24:11
Met_u
Здравствуйте уважаемые КОТЫ, сразу говорю, я чайник и вот у меня какая проблема. Контроллер AT90USB162, моя цель: на AIN0 подаётся опорное напряжение в 0.4в, а напряжение на AIN1 я регулирую переменным резистором, если он меньше опорного, то светодиод горит, если больше, то не горит. Смог добиться только того, что программа срабатывает 1 раз, т.е изначально светодиод горит, я гашу его (делая AIN1 больше AIN0) а обратно зажечь не могу, Мк не реагирует на мои действия (уменьшение/увеличение напряжения на AIN1) программу пишу в CodeVisionAVR
Re: AT90USB162 проблема с компаратором
Добавлено: Сб фев 09, 2013 22:17:29
blackx
ACSR=0b00011010;
замените на
ACSR=0b00011000;
Re: AT90USB162 проблема с компаратором
Добавлено: Вс фев 10, 2013 01:53:43
Met_u
Поменял, не помогло (может у меня что с мк..., уже не знаю...) сделал так, теперь оно стало работать, но почему то срабатывает не каждый раз
int i;
// Analog Comparator interrupt service routine
interrupt [ANA_COMP] void ana_comp_isr(void)
{
#asm("cli")
i = i + 1;
if(i == 2)
{
i=0;
}
#asm("sei")
}
_________________
while (1)
{
if (i == 0)
{
PORTD.3 = 1;
delay_ms(100);
PORTD.3 = 0;
delay_ms(100);
}
if (i == 1)
{
PORTD.5 = 1;
delay_ms(100);
PORTD.5 = 0;
delay_ms(100);
}
}
}
Re: AT90USB162 проблема с компаратором
Добавлено: Вс фев 10, 2013 09:21:02
Kavka
Не знаю как в CodeVision, а в GCC надо бы i объявить как volatile.
Re: AT90USB162 проблема с компаратором
Добавлено: Вс фев 10, 2013 11:09:16
oleg110592
Зачем так сложно. И sei и cli в прерывании не нужны. Состояние выхода компаратора в любой момент можно узнать, прочитав бит AC0.
Не забывайте про "дребезг" подстроечного резистора.
Re: AT90USB162 проблема с компаратором
Добавлено: Вс фев 10, 2013 17:11:46
Met_u
Пробовал PORTD.3 = ACO;
ведь он либо 0 либо 1 но работать не хотело, а с volatile попробую разобраться
Re: AT90USB162 проблема с компаратором
Добавлено: Вс фев 17, 2013 18:22:43
Met_u
Спасибо всем кто помогал. решение найдено
Re: AT90USB162 проблема с компаратором
Добавлено: Вс фев 17, 2013 18:42:04
blackx
Найдено - делитесь. Ваше решение возможно еще кому-нибудь сможет помочь.