-
- Если нужно в более-менее широких пределах управлять частотой,
рекомендую связать два таймера (по возможности, господином сделать
32-битный можно, а уж рабом - 16-битный). Тогда можно будет у
главного таймера и ARR, и PSC при необходимости изменять, а у
рабского придется лишь CCx менять для изменения заполнения. И тогда
можно будет DMA второго дергать для генерирования синусоиды по
одному-единственному заранее вычисленному массиву данных, а DMA
первого плавно менять Eddy_Em(24 знак., 15.02.2024 10:53)
- вы не поверите! я так и сдедлал - только у этой идеивылезли еще
косяки - в итоге 5!!! КАРЛ !! АЖНОШ ПЯТЬ!!! таймеров. первый только
лишь для синхронного запуска двух ведущих. оба ведущих после
запуска выдают триггер на два ведомых в которые работают в режиме
одного импульса и от них запускаются на каждом периоде шима. во
втором ведомом триггер задержан на 180 градусов.... много букв в
прерываниях. осталось еще dma вкрутить... и выкинуть на помойку
взяв нормальный мк. klen(72 знак., 15.02.2024 13:22)
- Вы явно что-то делаете не так. Или, действительно, нужно посмотреть
в сторону "automotive" МК. Скажем, STM32G. - Eddy_Em(15.02.2024 14:44)
- я всегда все делаю не так - "так" и без меня куча народу сделает.
на stm32g это конечно изящно - так как там есть режим кобайна в
таймерах... а у меня задача на ch32v307 или на крайняк stm32f405. я
еще не сдался - c dma может и проканает. отпишусь чем чем эта
попоболь закончится. - klen(15.02.2024 15:13)
- "Не так" - значит неправильно. Я если честно не углублялся в детали реализации твоей задачи. На это надо время. Но мне кажется не должно быть никаких трудностей с изменением параметров сигнала (частота, скважность). Есть же в конце концов теневые регистры, которые и придуманы для того чтобы не было сбоев в выходных сигналах. Но не буду спорить - не готов углубляться в тему. - il-2(15.02.2024 15:23)
- я всегда все делаю не так - "так" и без меня куча народу сделает.
на stm32g это конечно изящно - так как там есть режим кобайна в
таймерах... а у меня задача на ch32v307 или на крайняк stm32f405. я
еще не сдался - c dma может и проканает. отпишусь чем чем эта
попоболь закончится. - klen(15.02.2024 15:13)
- Вы явно что-то делаете не так. Или, действительно, нужно посмотреть
в сторону "automotive" МК. Скажем, STM32G. - Eddy_Em(15.02.2024 14:44)
- вы не поверите! я так и сдедлал - только у этой идеивылезли еще
косяки - в итоге 5!!! КАРЛ !! АЖНОШ ПЯТЬ!!! таймеров. первый только
лишь для синхронного запуска двух ведущих. оба ведущих после
запуска выдают триггер на два ведомых в которые работают в режиме
одного импульса и от них запускаются на каждом периоде шима. во
втором ведомом триггер задержан на 180 градусов.... много букв в
прерываниях. осталось еще dma вкрутить... и выкинуть на помойку
взяв нормальный мк. klen(72 знак., 15.02.2024 13:22)
- Если нужно в более-менее широких пределах управлять частотой,
рекомендую связать два таймера (по возможности, господином сделать
32-битный можно, а уж рабом - 16-битный). Тогда можно будет у
главного таймера и ARR, и PSC при необходимости изменять, а у
рабского придется лишь CCx менять для изменения заполнения. И тогда
можно будет DMA второго дергать для генерирования синусоиды по
одному-единственному заранее вычисленному массиву данных, а DMA
первого плавно менять Eddy_Em(24 знак., 15.02.2024 10:53)