Архив метки: ШИМ

Изменение частоты ШИМ.

Стандартная частота ШИМ в плате ардуино на 5 и 6 пинах 976 Гц.
Для изменения частоты ШИМ  на пинах 5 и 6 в ардуино, используется следующая команда:

TCCR0B = TCCR0B & 0b11111000 | 5;     // константа 5 это делитель 1024, получаем частоту 61 Гц.

Другие частоты ШИМ можно выставить делителями согласно табличке.
Константа   Делитель          Частота(Гц)

   0x01           1              62500
   0x02           8              7812.5
   0x03          64              976.5625
   0x04         256              244.140625
   0x05        1024              61.03515625


Ок, поставил частоту 61 гц. Вгружаю скетч. 
На екране (использую LCD Nokia 5110) вижу ненормальное поведение программы.  Все «замерло».
Оказывается — установленный мною делитель, действует также на системный таймер. Функции delay(), milis(), micros() и работает тоже с измененным делителем частоты. Delay(1000) — сделает задержку не на 1 секунду!!! Моя программа выполняется намного дольше, чем задумано.
Пришлось ШИМ-у пересаживатся на 3-пин. Его делитель частоты не трогает ситемный таймер.

Автор: dim.medvedev
Дата публикации: 2015-03-11T00:05:00.000-07:00