ребзя, а что, получается в atmega328p 50Hz Pwm не получится сделать используя только один 8 bit таймер?

Комментарии: 16

  1. Bga

    Можно в системный генератор тиков lsi перевести вроде Только это не эффективно

    • Tiny

      наверное придется курить даташит для 16бит. но вообще тупняк, почему нельзя для TOP и сравниваемого значения использовать разные регистры

      • Bga

        16Мгц это 2**24 - прескалер таймера - 16

        • Tiny

          проблема в том что нужен сигнал 50 hz, ширина импульса от 1ms до 2 ms. прейскалер я использовал 8 дальше была идея ограничить top значением 156, и использовать уже сравниваемое значения для регулировки ширины импульса. но даташит утверждает что TOP всегда должен равняться сравниваемому значению. в этом вся и подлянка https://github.com/arduino-libraries/Servo/blob/master/src/megaavr/Servo.cpp в ардуинке кстати они используют для этих целей 16 бит таймеры)

          • Bga

            А я что написал?

        • Tiny

          ну я вот эту фразу не понял

          • Bga

            Screenshot (15 Apr 2023 15:59:55) Короче делится оно до 2 ** (24 - 10 - 16) Гц Можно и ниже. Если частоту проца понизить

            • Tiny

              делится оно до 16мгц / n / 256, где n значение прескайлера. но я не понимаю причем тут он? проблема в использании значения TOP для 8 битный таймеров

              • Bga

                Таймер 16 битный. До 16мгц/1024/65536 если ты не понимаешь в степенях двойки

                • Anonim

                  Какие же все-таки атмеги древнее зло...

                  • Serge

                    А что тебе в них не так? Вот 8051 те странноваты)

                    • Anonim

                      Да в целом все так, просто по современным меркам ощущаются уж очень устаревшими

                  • Tiny

                    на стмке кстати задача довольно быстро решилась) не без помощи добрых людей. но гибкости на порядок больше

                  • Vladimir

                    И ты сразу сдался? ))

                    • Anonim

                      Да не поч, просто я хз когда их в последний раз использовал

                      • Bga

                        В каком то мк можно было допрескалить таймер до 1024 секунд Можно офигеть взять 128 кГц и шимить аппаратно раз в час

Не нашли ответ?

Вам также может быть интересно