Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Воскресенье
24 ноября
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Микроконтроллеры
1046517
Топик полностью
my504
(23.10.2020 15:55, просмотров: 453)
ответил
Aleksey_75
на
у меня подобное реализовано на регистрах сравнения таймера, также можно устанавливать произвольные значения , при установке считываем текущее значение счетчика , добавляем новое время, грузим в свободный регистр сравнения, в таблицу кладем указатель на функцию которую нужно ввызвать по таймауту! все работает аппаратное и не жрет ресурсов! На 3 аппаратных таймера stm32 выходит 12 независимых счетчиков
Вы о каких ресурсах говорите? О вычислительных? А ничего, если аппаратные гораздо ценнее, если речь идет о столь пустяковой задаче? Вы предложили использовать не просто таймеры, а полноценные таймеры с 4 каналами... Странный выбор...
Ответить
вы предлагаете каждую ms парсить значения ? вот это действительно очень затратно! У меня это не пустяковая задача! Практически вся программа построена на отложенных функциях
-
Aleksey_75
(23.10.2020 16:03
)
Пусть системная 150 МГц (цикл чуть менее 7 нс). Обработчик вместе с парсингом займет пускай даже 100 циклов, хотя будет меньше - 700 нс. То есть нагрузка на код составит 0,07%. "Так о чем же этот фильм? Да ни о чем!"(с)
-
my504
(23.10.2020 16:34
)
ну а если системная 72 или даже 48? у проца еще своей работы хватает! изначально пробивал настроить на 1ms и внутри обрабатывать тормоза лютые получаются! поэтому и решил сделать так!
-
Aleksey_75
(23.10.2020 17:11
)