-
- Даташита нет под рукой, но: il-2(385 знак., 21.01.2018 10:06)
- Используйте PWM mode. Прямой шим (0b110) - Выход канала находится в выс. ур-не, пока TIMx_CNT < TIMx_CCR1. Evgeniy1294(194 знак., 21.01.2018 09:33)
- Попробую конечно, но хочется попроще, как в даташите описано. - Звероящер(21.01.2018 11:04)
- я почему-то всегда делаю меандр в режиме PWM. Выставляю длительность импульса - половина периода. Никогда не было проблем. - Лагунов(21.01.2018 07:49)
- Кстати, а чем частоту меняешь тогда? Делителем? - Звероящер(22.01.2018 07:53)
- В тексте у меня длит. имп. всегда PERIOD/2. Меняю период и всё. Хотя оперативно по ходу программы не надо было никогда. - Лагунов(22.01.2018 13:36)
- Я так и думал. Мне частоту меандра надо менять в широких пределах - Звероящер(23.01.2018 07:03)
- Меняю частоту от 0 до 16,8 кГц с шагом 28 Гц. Частоту считаю на лету, работает все прекрасно. Как я писал выше, прерывания в режиме pwm работают также. - Evgeniy1294(23.01.2018 09:06)
- Ну и мне от 0 до 500 кГц с шагом 10 :) - Звероящер(23.01.2018 15:55)
- ну две команды, на период и длительность импульса. Неужели будет сильно медленно? Пардон, ну если это в DMA, тогда есть проблемы. - Лагунов(23.01.2018 07:21 - 07:23)
- А какие там проблемы? Не копал еще туда, но хочется. Какие две команды? Там для каждой перестройки частоты меандра надо предделитель изменить и ARR/CCMR1 регистр, а данные надо откудова взять. Значит массив. Значит сравнение и вычисление... - Звероящер(23.01.2018 16:01 - 16:06)
- виноват, оказывается прескалер тут тоже 16-битный. Так что можно вполне 0-500 тыс через 10 Гц прескалером крутить. :-) - Лагунов(24.01.2018 09:50)
- Ну. В прерывании. - Звероящер(24.01.2018 11:22)
- виноват, оказывается прескалер тут тоже 16-битный. Так что можно вполне 0-500 тыс через 10 Гц прескалером крутить. :-) - Лагунов(24.01.2018 09:50)
- А какие там проблемы? Не копал еще туда, но хочется. Какие две команды? Там для каждой перестройки частоты меандра надо предделитель изменить и ARR/CCMR1 регистр, а данные надо откудова взять. Значит массив. Значит сравнение и вычисление... - Звероящер(23.01.2018 16:01 - 16:06)
- Меняю частоту от 0 до 16,8 кГц с шагом 28 Гц. Частоту считаю на лету, работает все прекрасно. Как я писал выше, прерывания в режиме pwm работают также. - Evgeniy1294(23.01.2018 09:06)
- Я так и думал. Мне частоту меандра надо менять в широких пределах - Звероящер(23.01.2018 07:03)
- В тексте у меня длит. имп. всегда PERIOD/2. Меняю период и всё. Хотя оперативно по ходу программы не надо было никогда. - Лагунов(22.01.2018 13:36)
- Если судить по мелким процессорам, то иногда это хорошо, когда на оставшемся 8-разрядом таймере выдать частоту пониже, иногда не очень хорошо, когда надо выдать наружу сразу несколько кратных частот - Доширак(21.01.2018 08:54, )
- Кстати, а чем частоту меняешь тогда? Делителем? - Звероящер(22.01.2018 07:53)
- Не вдаваясь в подробности - "011: Toggle - OC1REF toggles when TIMx_CNT=TIMx_CCR1" т.е. частота будет соответствовать 40000, но переключение со сдвигом по фазе в момент 512. Вероятно хотелось чего то другого? - 1111111(21.01.2018 04:08)
- Блин! Допёрло. Спасибо. Надо было мне закусывать. - Звероящер(21.01.2018 11:11)