-
- А надо ли перегружать каждый раз таймер? Почему бы вам не
установить период 100+110=210, а по дороге на уровне 100 запилить
капчу? Тогда и будет у вас чередование прерываний: первое через 100
тиков, а за ним второе через 110 тиков после первого. - Kceния(22.06.2021 16:32)
- Хочу вообще без прерываний, 100 тиков это очень часто - IBAH(22.06.2021 18:00)
- Тики прескалером можно сильно во времени растянуть. А без
прерываний вам эту задачу не решить. - Kceния(22.06.2021 18:11)
- "А без прерываний вам эту задачу не решить." - пора отречься от восьбитных пережитков прошлого. Спасибо SciFi, у меня сложилось. Таймер регистр переполнения =100, регистр совпадения 1. Один канал DMA циклический цепляем на переполнение таймера, этот канал дрыгает ногами. Другой канал DMA на 2 отсчета цепляем на совпадение, по этому каналу переписываем регистр переполнения. И кладем стрелку!!! до Fтакт/3 - IBAH(22.06.2021 19:19, картинка)
- Тики прескалером можно сильно во времени растянуть. А без
прерываний вам эту задачу не решить. - Kceния(22.06.2021 18:11)
- Хочу вообще без прерываний, 100 тиков это очень часто - IBAH(22.06.2021 18:00)
- Мне почему-то кажется естественным без предварительной загрузки,
DMA->NDTR = 2, src[] = { 110, 100 }. - SciFi(22.06.2021 15:37)
- Мне 110 нужно один раз на херпоймилион, таймер молотит 100, из
основного потока подали команду, хряк 110, а потом опять 100 - IBAH(22.06.2021 16:31)
- А я что написал? - SciFi(22.06.2021 17:21)
- Правильное решение! теперь осталось придумать как зацепить на таймер два канала DMA, UDE у меня уже занят выводом в GPIO - IBAH(22.06.2021 18:12)
- прошу прощения, зациклен на циклическом DMA - IBAH(22.06.2021 17:55)
- нужно именно следующий период поменять? текущий период удлинить
нельзя? CNT=CNT+10 в нужное время - Andrey190(22.06.2021 17:12)
- только CNT=CNT-10. Все равно не катит. А если CNT окажется меньше 10 - IBAH(22.06.2021 18:05)
- А я что написал? - SciFi(22.06.2021 17:21)
- Мне 110 нужно один раз на херпоймилион, таймер молотит 100, из
основного потока подали команду, хряк 110, а потом опять 100 - IBAH(22.06.2021 16:31)
- А надо ли перегружать каждый раз таймер? Почему бы вам не
установить период 100+110=210, а по дороге на уровне 100 запилить
капчу? Тогда и будет у вас чередование прерываний: первое через 100
тиков, а за ним второе через 110 тиков после первого. - Kceния(22.06.2021 16:32)