Вчера взял в охапку всё барахло и поехал в тихое место у гаражей, дабы поставить самопальный блок управления всякой сервисной фигнёй. По идее, он должен работать и как круиз-контроль, и как старт-ассистент (корректно удалённо заводить машину в мороз, а то сигналка это делает очень уж тупо и не всегда успешно), и как автоблокировщик дверей при разгоне, а ещё регулировать мощности струи омывателя в зависимости от скорости, дабы на стоящей машине на крышу не лило, и контролировать кондей. Короче, хитрая микроконтроллерная фигня.
И вот подцепляю блок, инвертер, ноут, прошивальщик… Сигнал тахометра получил без проблем, обороты подсчитал. А сигнал скорости? Фигня: задираю колесо, передача — поехали. И вот никак не выходит. С полчаса сижу. И тут в окно — тук-тук. Опускаю стекло. Стоит мужик.
— Не получается?
— Э-э-э, ну да. Вот, скорость снять не удаётся.
— AVR?
— Э-э-э… Да.
— Дай глянуть.
Открываю дверь, мужичок смотрит код процедуры обработки прерывания и процедуры вычисления.
— Вроде правильно. Хм… А переменную через volatile объявил?
— Точно…
В спешке по оборотам объявку-то повесил, а по скорости забыл. Вешаю — хоп, вот и скорость!
— Работает, спасибо!
— Да не за что, пока!
И уходит. Это что — нормально, да?