Sl (25.08.2019 22:10, просмотров: 229) ответил VLLV на ШИМ в STM32 генерирует импульс при CСR = 0. Как проще всего отключать (в HAL)?
Про HAL не скажу. Я знаю следующие. Первый способ "обнулить" выход.
// TIMx capture/compare enable register - TIMx_CCER. n - номер канала.
TIMx_CCER_CCnE: Capture/Compare n output enable.
Бит CCnE = 0.
Второй способ "обнулить" выход.
// TIMx capture/compare mode register 1 - TIMx_CCMR1.
// TIMx capture/compare mode register 2 - TIMx_CCMR2.
Биты OCnM[3] = OCnM[2:0] = 0. Запретить режим ШИМа.
Третий способ "обнулить" выход.
Внешний сигнал на вход TIMx_ETR. Естественно, это выход должен иметь соответствующую альтернативную функцию. Внимание не все счетчики имеют тиакой вход.
Кроме того хорошо бы этот вход иметь в качестве источника внешненго прерывания.
Но для этого нужно сначала его разрешить записав TIMx_CCER_OCnCE=1 - Output compare x clear enable.
Можно определить активный уровень TIMx_ETR.
Можно еще, наверное, отключить альтернативную функцию для выхода ШИМа. Но, я так еще не пробовал.