ATMega 32u4 (leonardo) чтение и запись ШИМ в диапазоне 0-2Гц

Тема в разделе "Arduino & Shields", создана пользователем Константин_Ли, 29 июл 2019.

Метки:
  1. upload_2019-7-29_22-29-40.png
    Из таблицы видно что максимальная частота 490Hz (на 3/11 980Hz)
    analogWrite работает в диапазоне 0-255
    analogRead в от 0 до 1023

    Так как тогда смоделировать частоту в диапазонах от 0 до 2Hz ?
     
  2. KindMan

    KindMan Гуру

    А что значит от 0 до 2 гц? Т.е. может вам понадобиться 0.58 гц?
    Возьмите любую библиотеку таймера (ну или разберитесь с аппаратным), например от нашего форумчанина и запускайте с нужным интервалом.
     
    Daniil и ИгорьК нравится это.
  3. Asper Daffy

    Asper Daffy Иксперд

    Про получение ШИМа с разными частотами (правда, на UNO) подробно написано вот здесь. Там же есть таблица максимальных частот и разрешений. Если нужна другая частота, дробите делителями частоты или делайте как посоветовал коллега постом выше. Для леонардо всё в принципе также, только надо переписать на свои имена регистров.
     
    Последнее редактирование: 29 июл 2019
  4. ИгорьК

    ИгорьК Гуру

    Кот классный!
     
  5. Daniil

    Daniil Гуру

    А analogread тут при чём? Это другой блок внутри мк
     
  6. DetSimen

    DetSimen Guest

    моя хрень на Леонарде не работает, нету у мня Леонарды, чтоб протестировать :(
     
  7. KindMan

    KindMan Гуру

    Да, мой косяк, не посмотрел.
     
    DetSimen нравится это.
  8. DetSimen

    DetSimen Guest

    внасамом деле, посмотрел я аппаратные таймеры на Леонарду, там нулевой ничем не отличается от 328-го,
    поэтому в начале программы
    #define __AVR_ATmega328P__
    и всё должно работать по-Брежневу.
     
    Asper Daffy и KindMan нравится это.