Здравствуйте.Можете объяснить в чем ошибка?Хочу реализовать функцию time,которая делает задержку.Вот текст программы:
#include <avr/io.h>
void time(int n)
{
int i;
TCCR0=0x05;//запускаем таймер T0 c делителем частоты на 1024
for(i=0;i<=n;i++)
{
TCNT0=6;//записываем в регистр TCNT0 6,для того чтобы таймер начал отсчет с этого значения
while(!TOV0);//;ждем пока влаг переполнения не станет равным 1
}
TCCR0=0;//отключаем таймер
}
.......
.......
.......
и еще такой вопрос в Proteuse можно смоделировать работу таймеров/счетчиков?
Работа с таймером/счетчиком T/C0 в МК Atmega16
Re: Работа с таймером/счетчиком T/C0 в МК Atmega16
partizan писал(а):.Можете объяснить в чем ошибка?
Ошибку можно исправить так :
while(!(TIFR & (1 << TOV0))); //ждем пока флаг переполнения не станет равным 1
В чём заключалась, надеюсь, объяснять нет надобности?
Re: Работа с таймером/счетчиком T/C0 в МК Atmega16
Shplv писал(а):Ошибку можно исправить так :
while(!(TIFR & (1 << TOV0))); //ждем пока флаг переполнения не станет равным 1
В чём заключалась, надеюсь, объяснять нет надобности?
Если честно,то я понял в чем заключалась ошибка.Можно с объяснением?)