Ответ в теме: Программирование МК STM32



#18651
APB1
Участник

Здравствуйте. Помогите, пожалуйста, если знаете ответ на мой вопрос.
Необходимо генерировать сигнал с помощью таймера. Линия подтянута к питанию, сигнал инверсный. Нужно притягивать линию к земле на заданное количество тиков таймера, а потом отпускать на какое-то время, после чего сигнал повторяется. Это как инверсный ШИМ.
Я думал, что это так же легко, как настроить прямой ШИМ. Но нет:
<div class=»spoilerui»>PWM mode 1
— In up-counting, channelx is active as long as CNT< CCRx, otherwise it is inactive
— In down-counting, channelx is inactive as long as CNT> CCRx, otherwise it is active.
PWM mode 2
— In up-counting, channelx is inactive as long as CNT < CCRx, otherwise it is active
— In down-counting, channelx is active as long as CNT > CCRx, otherwise it is inactive.</div>
Запускаю в режиме единичного сигнала, в итоге, как ни настраиваю PWM_mode и направление счетчика, а в конце передачи сигнала таймер притягивает ножку к земле. А мне важно, чтобы она оставалась в поднятом состоянии.

Протокол похож на 1Wire ot Dallas Semiconductor
Примерная диаграмма протокола