Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
while(1){
if(dmsec == 0) fun();
}
Часто при работе микроконтроллерного устройства есть необходимость отсчитывать «антропоморфное» время – сколько долей секунды светиться светодиоду, максимальный промежуток времени double-click
/* -------------------------------------------------------------------------- */
//TIMER2 initialize - prescale:256
// WGM: Normal
// desired value: .5Sec
// actual value: 0,500Sec (0,0%)
void timer2_init(void)
{
TCCR2 = 0x00; //stop
ASSR = 0x08; //set async mode
TCNT2 = 0xC0; //setup
OCR2 = 0x40;
TCCR2 = 0x06; //start
}
/* -------------------------------------------------------------------------- */
#pragma interrupt_handler timer2_ovf_isr:5
void timer2_ovf_isr(void)
{
TCNT2 = 0xC0; //reload counter value
TCCR2 = 0x06; //start
//тут полезный код
}
/* -------------------------------------------------------------------------- */
Начинающим: счетчик на микроконтроллере с шагом 2/3 микросекунды и переполнением в несколько суток