Страница 1 из 1

STM32 определение источника прерывания

Добавлено: Ср окт 19, 2016 20:32:56
VladimirM
Всем привет!

Вопрос в следеющем. STM32F401, таймер 1 настраюваю на шим 1,2 и 3 каналы, а канал 4 на output compare (нужен для задержки, чтобы запустить АЦП в нужный момент). По каналу 4 есть прерывание. В обработчике определить что источник прерывания конкретный таймер получается (if (htim->Instanse == TIM1){ ... }), НО обработчик откликается и на события каналов 1,2,3...
Как отделить событие именно по каналу 4???

Чтото я заблудился в 3-х соснах :)
Спасибо.

Re: STM32 определение источника прерывания

Добавлено: Ср окт 19, 2016 20:37:11
Мурик
У АЦП есть событие запуска по таймеру.

Re: STM32 определение источника прерывания

Добавлено: Ср окт 19, 2016 20:43:05
VladimirM
это я в курсе. используется 5 регулярных каналов ацп и 3 инжектрованных, вот эти 3 в разное время от разных таймеров... как заставить по совпадению 4 канала 1 таймера запустить старт ацп инжектированного канала ранк1, итд по совпадению канала 4 таймера 3 запустить ацп, и по каналу 4 таймера 4 запустить, при этом не перепутать данные.

Re: STM32 определение источника прерывания

Добавлено: Чт окт 20, 2016 09:06:50
VladimirM
Если кому то надо будет...

if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_4) { ... }