Понадобилось использовать таймер, для осуществления более-менее предсказуемой задержки. AVRstudio подтверждает мои догадки: при пошаговой отладке функция delay работает, но в реальном устройстве программа зависает именно в функции delay(). В документации описано, что регистры TCNT1H и TCNT1L доступны для чтения, хотя у меня сложилось впечатление, что это не так. Подскажите, что я делаю не так?
void InitTimer(void) { TCCR1A = 0; TCCR1B = (0<<CS12)|(0<<CS11)|(1<<CS10); TCCR1C = 0; } void delay(int value) { TCNT1 = value; while(TCNT1H); }
|