[an error occurred while processing this directive]
timer0 в AVR8515
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено martyr 12 октября 2005 г. 17:10


Вообщем ситуация такая. в таймере 0 есть регистр сравнения, заношу в регистр сравнения значение, наример АА. это делается для того чтобы на выходе получить напряжения 10 В, но на выходе я получаю 15 В, а если не использовать таймер то на выходе получается 30В, ситуация такая то, что не в зависимости от того, что я помещу в регистр сравнения
он мне будет всегда выдавать 15 В. такое ощущение, что таймер не сравнивает с регистром сравнения. Вот код программы:
void timer0_init(void)
{
TCNT0 = 0x00; // set count value
OCR0= 0xAA;
TIMSK= 0x03;
TIFR=0x03;
TCCR0 = 0x01; // start timer

}

void timer0_over(void)
{
PORTC=0x00;
}


void timer0_comp(void)
{
if (Device.ScanState == 0x02) // Rotate Left
{

PORTC=0x10;
}

if (Device.ScanState == 0x03) // Rotate Right
{
PORTC=0x01;
}
}

void timer0_stop(void)
{
PORTC=0x00;
TCCR0=0x00;
}
SIGNAL(SIG_OVERFLOW0)
{
timer0_over();
}


SIGNAL(SIG_OUTPUT_COMPARE0)
{
timer0_comp();
}





Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru