Добавлено спустя 2 часа 25 минут 32 секунды:
Добился работы переделав на:
- Код: Выделить всё
TIMSK=0x80;
и прерывание:
- Код: Выделить всё
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
// Place your code here
PORTD.0=~PORTD.0;
}
но есть одно но: прерывание генерируется с максмальной частотой 36-38 кГц. И никак я его не могу его увеличить при частоте ядра 1 МГц. неважно, OCR2=0x12 или 0x02, частота будет одинакова... почему?
Добавлено спустя 7 минут 5 секунд:
Изменил частоту кварца на 2МГц, соответственно увеличилась и частота получения прерывания. Выходит, есть некоторое "железное" ограничение, выше которого не прыгнешь?
Добавлено спустя 2 минуты 39 секунд:
Кстати, на картинке изображен не висящий провод, т.к. это горит ИК светодиод, а снимаю показания звуковухой через фотодиод. Светодиод не будет же гореть, если нога будет "висящей"