-
- не получается. в режиме one-pulse-mode работает не так как мне
нужно - по окончании счета сбрасывается и останавливается, по
сбросу передергивает выходы. мне нужно чтоб не передергивал. или не
сбрасывался и поэтому не передергивал. такое он не умеет. если
воткнуть UDE=1, вообще зацикливается несмотря на OPM=1. те кто
сейчас ставит 16-битные таймеры в микроконтроллеры - упыри
болотные, кол осиновый им в задницу! Микрону я так вот и написал -
примерно в такой форме про klen(8 знак., 23.12.2024 06:08)
- Можно попробовать извернуться - использовать режим DMA burst для
перестройки настроек таймера "на лету". т.е. по сигналу OCx, когда
выход поменялся - запускать DMA burst и перенастраивать полярность
выхода. Тогда по окончании счета выход передернется - но т.к.
полярность изменилась - то он останется без изменений. Изврат
конечно, но можно попробовать. Там только может понадобится еще
поизвращаться из-за того, что настройки полярности для всех каналов
находятся в одном il-2(9 знак., 23.12.2024 06:39)
- И еще - чтобы использовать один канал DMA с запросом по TIMx_UP
вместо нескольких каналов с TIMx_CHx - можно задействовать
Center-aligned mode - здесь надо проверять как это все заработает,
т.к. кроме полярности надо будет еще выключать таймер - il-2(23.12.2024 06:59)
- Думаю не получится. По старту нужно будет все вернуть взад, но дать запрос в dma в этот момент некому. У нас есть только ссх и переполнение. Видимо это от редкий случай когда на 133 серии логике проще сделать. - klen(23.12.2024 07:03)
- Ха. Так даже проще - не надо шаманить с полярностью - просто тупо
выключил таймер и все (по событию TIMx_UP с помощью DMA burst
обнулил бит CEN в CR1 - и все) - il-2(23.12.2024 07:02)
- Так он и так сам обнуляется при переполнении если выставлен OPM=1.
Но почeму так через хитровыкрученную жопу то? Задача сгенерить
несколько импульсов вполне естественная. - klen(23.12.2024 07:09)
- Да, но обнуляясь - еще происходит передергивание выходов. А в
режиме Center aligned - происходит только смена направления счета
(и событие UP), а выходы не передергиваются. И в этот момент можно
таймер остановить. И не только остановить - а перенастроить для
следующего запуска - обнулить CNT, еще что-нибудь подкрутить. - il-2(23.12.2024 07:16)
- Интересный тост... новый. Нужно испробывать. Возможно в этом что то есть. Спасибо! - klen(30.12.2024 00:31)
- Да, но обнуляясь - еще происходит передергивание выходов. А в
режиме Center aligned - происходит только смена направления счета
(и событие UP), а выходы не передергиваются. И в этот момент можно
таймер остановить. И не только остановить - а перенастроить для
следующего запуска - обнулить CNT, еще что-нибудь подкрутить. - il-2(23.12.2024 07:16)
- Так он и так сам обнуляется при переполнении если выставлен OPM=1.
Но почeму так через хитровыкрученную жопу то? Задача сгенерить
несколько импульсов вполне естественная. - klen(23.12.2024 07:09)
- И еще - чтобы использовать один канал DMA с запросом по TIMx_UP
вместо нескольких каналов с TIMx_CHx - можно задействовать
Center-aligned mode - здесь надо проверять как это все заработает,
т.к. кроме полярности надо будет еще выключать таймер - il-2(23.12.2024 06:59)
- Можно попробовать извернуться - использовать режим DMA burst для
перестройки настроек таймера "на лету". т.е. по сигналу OCx, когда
выход поменялся - запускать DMA burst и перенастраивать полярность
выхода. Тогда по окончании счета выход передернется - но т.к.
полярность изменилась - то он останется без изменений. Изврат
конечно, но можно попробовать. Там только может понадобится еще
поизвращаться из-за того, что настройки полярности для всех каналов
находятся в одном il-2(9 знак., 23.12.2024 06:39)
- не получается. в режиме one-pulse-mode работает не так как мне
нужно - по окончании счета сбрасывается и останавливается, по
сбросу передергивает выходы. мне нужно чтоб не передергивал. или не
сбрасывался и поэтому не передергивал. такое он не умеет. если
воткнуть UDE=1, вообще зацикливается несмотря на OPM=1. те кто
сейчас ставит 16-битные таймеры в микроконтроллеры - упыри
болотные, кол осиновый им в задницу! Микрону я так вот и написал -
примерно в такой форме про klen(8 знак., 23.12.2024 06:08)