Подскажите в чем дело. На мк 328p настроил на 10 и 9 ноге 10bit pwm используя 1 таймер. Далее решил прогнать заполнение от 0 до 1023 и визуально посмотреть на светодиоде. В итоге я получаю странный закономерный глюк в значениях от 200 до 300. Визуально это выглядит как кратковременный яркий всплеск. Заснял это на видео.
Код проекта тоже прикладываю
Подскажите с чем это может быть связано. Эффект повторяется на 2 доступных мне платах.
Если есть возможность можете сами его повторить.
C++:
const uint8_t PWM_PIN = 10;
const uint8_t TIME = 3;
void setup() {
TCCR1A = 0b00000011; // 10bit
TCCR1B = 0b00000010; // x8 phase correct
pinMode(PWM_PIN, OUTPUT);
}
uint32_t tmr = 0;
uint16_t val = 0;
bool dir = true;
void loop() {
if (millis() - tmr >= TIME) {
tmr = millis();
if (dir) val++; // увеличиваем яркость
else val--; // уменьшаем
if (val >= 1023 || val <= 0) dir = !dir; // разворачиваем
analogWrite(PWM_PIN, val);
}
}
Подскажите с чем это может быть связано. Эффект повторяется на 2 доступных мне платах.
Если есть возможность можете сами его повторить.