Size: a a a

2021 February 22

v.

victor . in STM32
Всем добрый вечер. Немного не по теме, но кто нибудь может подсказать плагин для sublime text, который бы выводил всплывающие подсказки для библиотечных функций.
источник

y

yuraneo in STM32
По портам таймера - вопрос снимаю, разобрался. Дырка была в чтении схемы. Порт&пин прекрасно переконфигурируются, без вопросов.
источник

AK

Andrew K in STM32
yuraneo
По портам таймера - вопрос снимаю, разобрался. Дырка была в чтении схемы. Порт&пин прекрасно переконфигурируются, без вопросов.
нужно периодически это делать?
источник

v.

victor . in STM32
В прерывании таймера не работает инвертирование пина, которое сделано таким образом: GPIOB->ODR ^= 1<<12
В основном цикле инвертирование работает. Прерывание от таймера срабатывает, это я проверял. После этого я обернул инвертирование пина в отдельную функцию. И уже эту функцию вызывал в прерывании. Тогда инвертирование стало работать. Почему так?
источник

AK

Andrew K in STM32
victor .
В прерывании таймера не работает инвертирование пина, которое сделано таким образом: GPIOB->ODR ^= 1<<12
В основном цикле инвертирование работает. Прерывание от таймера срабатывает, это я проверял. После этого я обернул инвертирование пина в отдельную функцию. И уже эту функцию вызывал в прерывании. Тогда инвертирование стало работать. Почему так?
ошибка в коде, двойное вхождение в прерывание по таймеру такое у некоторых бывает
источник

AK

Andrew K in STM32
нужно смотреть код
источник

v.

victor . in STM32
Andrew K
нужно смотреть код
вот код. там есть еще одна особенность. если в прерывании сначала сбросить флаг, а потом бит инвертировать, то все работает. а если сначала инвертировать, а потом сбросить флаг, то не работает, за исключением случая, когда инвертирование в отдельной функции выполняется.
источник

AK

Andrew K in STM32
так в этом и суть ошибки в коде
источник

AK

Andrew K in STM32
перед выходом напишите (void)TIM1->SR;
источник

v.

victor . in STM32
Andrew K
перед выходом напишите (void)TIM1->SR;
что это даст? и как это работает?
источник

AK

Andrew K in STM32
вычитывание SR это даст
источник

AK

Andrew K in STM32
т.е. гарантированный выход из прерывания после записи в SR. Проблема в том что из прерывания выходит раньше чем сбросит запрос в самом NVIC
источник

AK

Andrew K in STM32
а вообще просто сбрасывайте вначале да и все
источник

v.

victor . in STM32
ок. благодарю.
источник
2021 February 23

y

yuraneo in STM32
Andrew K
нужно периодически это делать?
Скорее всего иногда. По первой команде генерируется нужная частота (на трасформатор), по второй команде генерация прекращается, и тут хорошо, если на выходе не будет напряжений. Я просто не увидел на схеме инверсию и устанавливал пины в 0, а нужно было в 1. Проверил руками переконфигурацию пинов (битики по регистрам пописал) - работает, через HAL тоже без вопросов, как и должно быть по документации.
источник

AK

Andrew K in STM32
yuraneo у вас же шим на выходе, есть режим форсирования выходного сигнала в 0 или 1. можно упростить и не перестраивать гпио
источник

y

yuraneo in STM32
Andrew K
yuraneo у вас же шим на выходе, есть режим форсирования выходного сигнала в 0 или 1. можно упростить и не перестраивать гпио
Не подходит. У меня выход с инверсным (комплементарным) каналом для мостового включения. Поэтому, если установить форсированный выход - комплементарный канал будет инвертирован, и на выходе всегда будет единичка, если не на прямом, то на инверсном канале. Да и переключить пин проще, логичнее, чем менять режим таймера. Имхо.
источник

ND

Nikita D in STM32
А самому break bkin вывод  для таймера вызвать нельзя?
источник

ND

Nikita D in STM32
У шим таймером есть возможность отключения по break , с переходом в безопасное состояние
источник

y

yuraneo in STM32
Nikita D
А самому break bkin вывод  для таймера вызвать нельзя?
На сколько верно читал даташит - это внешний вывод, программно не вызывается.
источник