не могу понять, почему разница между срабатыванием прерывания и моментом , чтобы светодиод загорелся проходит такой большой промежуток времени на 16MHz. И какой-то баг , первый раз таймер всегда отсчитывает около 7мкс , вместо 10мс , а дальше работает нормально. Я просто таким образом хотел проверить, что таймер начинает считать именно тогда , когда приходит первый дребезг. Прерывание по восходящему фронту, кнопка по обратной логике подключена. Есть идеи у кого-нибудь?
Возможно в первый раз вы забываете выставить бит EGR чтобы принудительно обновить shadow регистры таймера при инициализации, поэтому прерывание происходит тут же, т.к. в ARR всё ещё нули.
Это действительно помогло
Можно отключить эту буферизацию через ARPE бит
А flash wait state в 0 выставлен?
Обсуждают сегодня