-
- Однако, у STM32 таймер TIM17 не может быть слейвом, за неимением
slave mode controller-а и соответствующего регистра. Если у этого
LCM32F0 таймеры аналогично устроены, то вариант мастер-слейв
отпадает. - ЫЫyкпy(09.09.2023 13:23)
- Впрочем, на одном только TIM17 тоже неплохо получается. У TIM17 есть, у счастью, Repetition counter и регистр RCR, а в регистре CR1 есть бит OPM. ЫЫyкпy(1140 знак., 09.09.2023 21:10)
- И ещё: SciFi(1 знак., 09.09.2023 15:33, ссылка)
- И ещё: SciFi(2 знак., 09.09.2023 15:29, картинка, картинка)
- Вот: "Many features are shared with those of the general-purpose TIM timers which have the same architecture. The advanced-control timer can therefore work together with the TIM timers via the timer link feature for synchronization or event chaining." Думаю, надо исходить из того, что функционал скопирован с STM32 >>> SciFi(1 знак., 09.09.2023 15:17, ссылка)
- спасибо за адекватный ответ - Nikolaev_Aleksey(09.09.2023 14:07)
- Вот же же проблема придумана. На втором таймере подсчитывай свои
события (31 и 100-200 мс) и запускай или останавливай ШИМ. - POV(09.09.2023 11:39)
- Ну как придумана? Вот ты уже предлагаешь использовать два таймера в
связке. Таймеры у STM32, конечно, довольно универсальные, то есть
непростые для изучения. Особенно если отказываешься читать мануал
и/или по-ангельски не понимаешь. Да, это реальная проблема. - SciFi(09.09.2023 11:54)
- Я себе завел модуль который обеспечивает через назначенные колбеки
кучу разных событий (интервалы задаются с шагом с 1мс). Десяток
таких события постоянно крутится. И формирование ШИМ будет лишь
одним или двумя событиями из этого перечня. А чел хочет на эту
хитровывернутость, не переносимую на иной проц, повесить лишь одну
задачу. - POV(09.09.2023 12:17)
- можно уточнить - что есть модуль. если нужна точность отличная от
1000us, что делать? Делать прерывания каждые 100us и менее? - Nikolaev_Aleksey(09.09.2023 14:33)
- Ну да, делать каждые 100us.. у меня тактовая 240МГц, что мне, жалко
тики что ли )) .. хотя и на 72 МГц эти 1мс прерывания жить не
мешают. POV(627 знак., 09.09.2023 18:13, ссылка, ссылка)
- спасибо. временно решил проблему. - Nikolaev_Aleksey(17.09.2023 06:52)
- Ну да, делать каждые 100us.. у меня тактовая 240МГц, что мне, жалко
тики что ли )) .. хотя и на 72 МГц эти 1мс прерывания жить не
мешают. POV(627 знак., 09.09.2023 18:13, ссылка, ссылка)
- можно уточнить - что есть модуль. если нужна точность отличная от
1000us, что делать? Делать прерывания каждые 100us и менее? - Nikolaev_Aleksey(09.09.2023 14:33)
- Я себе завел модуль который обеспечивает через назначенные колбеки
кучу разных событий (интервалы задаются с шагом с 1мс). Десяток
таких события постоянно крутится. И формирование ШИМ будет лишь
одним или двумя событиями из этого перечня. А чел хочет на эту
хитровывернутость, не переносимую на иной проц, повесить лишь одну
задачу. - POV(09.09.2023 12:17)
- Ну как придумана? Вот ты уже предлагаешь использовать два таймера в
связке. Таймеры у STM32, конечно, довольно универсальные, то есть
непростые для изучения. Особенно если отказываешься читать мануал
и/или по-ангельски не понимаешь. Да, это реальная проблема. - SciFi(09.09.2023 11:54)
- Микросхема 2И снаружи не решит эту проблему? - Kpoк(09.09.2023 09:30)
- изменение схемы невозможно. спасибо что потратили на меня свое время - Nikolaev_Aleksey(09.09.2023 14:09)
- Тут ведь какое дело - ну шибко ломает от того, что придется
прилепить снаружи еще корпусок логики ;) - Гyдвин(09.09.2023 11:34)
- А есть ПИКи со встроенным2И :-)) - Kpoк(09.09.2023 11:38)
- На таких скоростях можно и программно параметры подкручивать. А
если хочется аппаратно - читайте даташит, в STM32 эта часть таймера
называется Slave mode controller, там например есть такой режим как
Enable Count (когда внешний сигнал разрешает/запрещает счет
таймера), так что если этот ваш LCM32F0 является клоном, то :-)
-> il-2(1 знак., 08.09.2023 10:09, youtube)
- Программно не получится, ибо хочется регулировки в диапазоне
120-200мсек с шагом как минимум 0,05 мсек. Все статьи в инете STM32
основываются на нелюбимый мною HAL (нажми сюда и получишь код). Мне
бы на словах кто объяснил. Вот есть мастер таймер - он управляет
вторым. Что может сделать мастер в отношении второго (аппаратно)? - Nikolaev_Aleksey(09.09.2023 08:06)
- На словах - это в мануале. Там чёрным по белому англицкими словами... - SciFi(09.09.2023 10:55)
- Единственный способ понять как работают таймеры - читать
реф.мануал. Всякие кубы и халы не помогут, а просто удвоят объём
того, что нужно прочитать ( и понять!). Всё что может сделать
мастер - это выдать сигнал TRGO (см. картинку с изображением
таймера). Дальше уже забота слейва. ЫЫyкпy(507 знак., 09.09.2023 09:38)
- единственный документ на китайском. я же не просто просто спрашиваю. любая помощь приветствуется.спасибо за ответ. - Nikolaev_Aleksey(09.09.2023 14:39)
- и в моем случае таймер - мастер должен быть тот кто задает паузу между пакетами или ШИМ? - Nikolaev_Aleksey(09.09.2023 08:15)
- Программно не получится, ибо хочется регулировки в диапазоне
120-200мсек с шагом как минимум 0,05 мсек. Все статьи в инете STM32
основываются на нелюбимый мною HAL (нажми сюда и получишь код). Мне
бы на словах кто объяснил. Вот есть мастер таймер - он управляет
вторым. Что может сделать мастер в отношении второго (аппаратно)? - Nikolaev_Aleksey(09.09.2023 08:06)
- Однако, у STM32 таймер TIM17 не может быть слейвом, за неимением
slave mode controller-а и соответствующего регистра. Если у этого
LCM32F0 таймеры аналогично устроены, то вариант мастер-слейв
отпадает. - ЫЫyкпy(09.09.2023 13:23)