PWM, регистры, таймеры
- Войдите на сайт для отправки комментариев
void pwm25kHzBegin() { TCCR2A = 0; TCCR2B = 0; TIMSK2 = 0; TIFR2 = 0; TCCR2A |= (1 << COM2B1) | (1 << WGM21) | (1 << WGM20); TCCR2B |= (1 << WGM22) | (1 << CS21); OCR2A = 79; OCR2B = 0; } void pwmDuty(byte ocrb) { OCR2B = ocrb; }
Нужно было сделать управление 4pin вентилятором, наткнулся на код выше. Пытаюсь понять что это за чертовщина и как она работает
Что удалось понять:
1) Сначала регистры таймера 2 (TCCR2A и TCCR2B) обнуляются.
2) Записью единицы в биты WGM20, WGM21,WGM22 включается режим FAST PWM.
3) Записью единицы в бит COM2B1 включается Non-inverted режим
4) Записью единицы в бит CS21 включается деление частоты контроллера на 8
5) Что такое OCR2A не очень ясно, но его значение расчитывается как Частота/(делитель частоты*нужная частота PWM)-1. Получаем число 79
Вопросы:
1) Что значит режим FAST PWM? И что значит TOP OCRA. Что такое Non-inverted режим?
2) Что такое TIMSK2 и TIFR2, какую роль играют в коде
3) Что такое OCR2B и какую роль играет (я понимаю что он меняет коэффициент заполнения, но как?)
ответы на все эти вопросы есть в разделе "Таймеры" даташита на используемый вами МК, например атмега328
b707
Спасибо за помощь. Ведь ради этого и существуют форумы. Что бы человека задавшего конкретный вопрос отправляли читать даташит на 448 страниц
b707
Спасибо за помощь. Ведь ради этого и существуют форумы. Что бы человека задавшего конкретный вопрос отправляли читать даташит на 448 страниц
не хотите даташит - почитайте многочисленные пособия на тему "таймеры в ардуино". Но даташит лучше.
А ты предлагаешь переписывать сюда даташит?
читать даташит на 448 страниц
Читай не всё подряд, а только то, что интересует. Про раздел с таймерами уже сказали. В даташите есть оглавление, а ещё можно пользоваться поиском по даташиту. Вбиваешь в поиск название нужного регистра и читаешь описание.
В разделе про таймеры меньше страниц. И форумы, безусловно, существуют, для того, столбы переводить с английского даташиты! ;))))
Т.е. переписать две странички по русски из 448 страничного манула в очередной 221 раз ? Для этого форум? Такие вопросы задавали неоднократно. И вместо того, что бы найти ответ, Вы требуете ещё раз писать то же самое ещё раз? Зайдите в платный раздел. Там за денежку переведут и объяснят.
Вопрос по ардуино - иди читай даташит на микруху
Вопрос по проге - иди читай книги Дейтелов
Вопрос по электронике - иди читай Хоровица
Зато в соседней теме обсуждают МОЩНОСТЬ кнопки. Форумы как были ебнутые так и остались
Форумы как были ебнутые так и остались
так кто тебя сюда звал? :)
Т.е. переписать две странички по русски из 448 страничного манула в очередной 221 раз ? Для этого форум? Такие вопросы задавали неоднократно. И вместо того, что бы найти ответ, Вы требуете ещё раз писать то же самое ещё раз? Зайдите в платный раздел. Там за денежку переведут и объяснят.
А дайте сразу список вопросов которые МОЖНО задать в разделе для НОВИЧКОВ что бы не оскорбить ВАС своей глупостью
А дайте сразу список вопросов которые МОЖНО задать в разделе для НОВИЧКОВ что бы не оскорбить ВАС своей глупостью
а вот это правильный вопрос. Читай прикрепленную тему
http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/pesochnitsa-dlya-vsekh-novichkov
Нормальные люди задают вопросы когда в гуголе ответов нет, иначе разбираются сами. Про таймеры в гугле ответов, как анализов за баней. Вывод?
Нормальные люди задают вопросы когда в гуголе ответов нет, иначе разбираются сами. Про таймеры в гугле ответов, как анализов за баней. Вывод?
Вывод - форумы нужны для поддержки ЧСВ отдельный людей, а не для передачи знаний и помощи.
Вывод - форумы нужны для поддержки ЧСВ отдельный людей, а не для передачи знаний и помощи.
уважаемый - вы правила форума, на которые я вам дал ссылку - прочитали? - похоже нет. А то бы поняли. что учить старожилов, зачем нужен форум - нарушение.
Вывод непраильный.
Вывод - форумы нужны для поддержки ЧСВ отдельный людей, а не для передачи знаний и помощи.
уважаемый - вы правила форума, на которые я вам дал ссылку - прочитали? - похоже нет. А то бы поняли. что учить старожилов, зачем нужен форум - нарушение.
Да, прочитал. Типичные правила российских говнофорумов - кто сидит тут с рождения форума тот царь и бог, а новичок - говно на палке, не должен вонять и отсвечивать.
Забаньте меня тут навечно и аккаунт сотрите
1) Что значит режим FAST PWM? И что значит TOP OCRA. Что такое Non-inverted режим?
FAST режим работы PWM - счётчик плюсует до TOP, обнуляется и заново. TOP хранится в OCRnA
2) Что такое TIMSK2 и TIFR2, какую роль играют в коде
3) Что такое OCR2B и какую роль играет (я понимаю что он меняет коэффициент заполнения, но как?)
При достижении счётчиком значения OCR2B, связанная со счётчиком нога перекидывается ТУДА, а при TOP - обратно. В inverted режиме - перекидывается наоборот.
sadman41
Вам большое спасибо.
Но TIMSK2 и TIFR2 в нулях. Значит все обработчики отключены?
FAST режим работы PWM
??? Вот это что сейчас было?! ;))))
Чота ты добрый седня. :-)
Да я начал отвечать, отошёл, а потом уже, после того как запостил, увидел, что тут фестиваль начался.
Но TIMSK2 и TIFR2 в нулях. Значит все обработчики отключены?
а где в этом коде обработчики?
Да я начал отвечать, отошёл, а потом уже, после того, как запостил, увидел, что тут фестиваль начался.
То есть ты, типа "в белой польте", а мы, соответственно - "члены с говнофорума"? Так получаиццо? ;))
Да я начал отвечать, отошёл, а потом уже, после того, как запостил, увидел, что тут фестиваль начался.
То есть ты, типа "в белой польте", а мы, соответственно - "члены с говнофорума"? Так получаиццо? ;))
Именна так.
Да я начал отвечать, отошёл, а потом уже, после того, как запостил, увидел, что тут фестиваль начался.
То есть ты, типа "в белой польте", а мы, соответственно - "члены с говнофорума"? Так получаиццо? ;))
По картинке - так выходит :(
В другой теме я буду с говнофорума, а вы в польтах. Думаю, что это уравняет нас в говнистости.
Я по началу тоже думал стать членом говнофорума, знаний по электронике у меня куда больше чем в программировании МК, и мог бы много всего полезного написать в аппаратной теме.
Но с таким отношением к людям, ну вас в зад. Читайте гугол, как говорится
Но с таким отношением к людям, ну вас в зад. Читайте гугол, как говорится
Да ладно, это коронавирус на них повлиял ))
Я по началу тоже думал стать членом говнофорума, знаний по электронике у меня куда больше чем в программировании МК, и мог бы много всего полезного написать в аппаратной теме.
Но с таким отношением к людям, ну вас в зад. Читайте гугол, как говорится
Был бы ты аппараччиком, не писАл бы про таймеры здесь, сделал бы все на 2х микрах и все.
Но с таким отношением к людям, ну вас в зад.
Не, ну так-то мы людей любим!
Новичок, ежель в подливе, не хужее глухаря! (не (с), но близко)
Но сення повар пропал, а в всырую, да без запивки... сам понимаешь!
Но с таким отношением к людям, ну вас в зад. Читайте гугол, как говорится
А что такого оскорбительного в чтении гугла, интересно? Он для того и создан. чтоб не отвечать по тридцать раз на одни и те же вопросы.
Я по началу тоже думал стать членом говнофорума, знаний по электронике у меня куда больше чем в программировании МК, и мог бы много всего полезного написать в аппаратной теме.
Но с таким отношением к людям, ну вас в зад. Читайте гугол, как говорится
Был бы ты аппараччиком, не писАл бы про таймеры здесь, сделал бы все на 2х микрах и все.
Мог без проблем, на 555 таймере с парой деталей тоже самое бы вышло.
Но надо еще было сделать счетчик оборотов и вывод нужный цифирей на экран (сделал).
Вопрос был только по паре непонятных моментов
ничего. Только если выкинуть даташиты - то откуда по твоему вся остальная информация там? Потому что люди решив проблему делились знаниями с другими. (ну кроме фирменного "Всем спасибо, проблему решил" и сваливанием в туман).
За грубость со своей стороны тут прошу прощения.
Насчет бана- не шутил
Бывает, чо. :-)
Вопрос по ардуино - иди читай даташит на микруху
Ваш Вопрос не по ардуино. В ардуино нет никаких таймеров, регистров и прочего. Там есть delay и millis. А если Вам приспичило использовать микросхему - читайте даташит.
А что Вы собственно предлагаете? Даже если я специально для Вас перепишу сюда даташит - Вам всё равно придётся его читать :(
А вот интересно. если бы прикрепить сюда, на форум, даташит на, к примеру, 328 атмегу. На русском.
Отпали бы такие вопросы, или их стало бы намного больше?
А вот интересно. если бы прикрепить сюда, на форум, даташит на, к примеру, 328 атмегу. На русском.
Отпали бы такие вопросы, или их стало бы намного больше?
Вот ссылки. Ну для примера.
http://we.easyelectronics.ru/AVR/dokumentaciya-po-avr-mikrokontrolleram-...
Ничего не изменится. ;)))
Да, скорее всего появится куча вопросов. Хотя, если человек не хочет читать даташиты, то скорее всего, ему это и не нужно. Для него это и не хобби, и не специальность, а так на разик поиграться. Но это только мое мнение...