Спасибо за ответ!
Пробовал на таймере 3 для третьего и четвертого каналов, но PWM работает синхронно.
Также на первом таймере пробовал, ситуация такая же - PWM работает синхронно.
Много разных настроек перепробовал, на знаю что делать.
Хотя на кубе всё аналогично!!!
Примерное описание - Таймер считает UP/DOWN => Задаётся значение счёта => один канал PWM1 другой PWM2=> и настраивается до куда считать - один до половины, второй с половины. Как то так!
Юзать таймер с DMAR. И по таблице через ДМА рулить таймером. На казусе был подобный пример на три канала.
Да не надо там дма я же инициализацию привёл выше и даже избыточную так сказать...
Кстати UP/DOWN необязательно Но нужно так сказать для другого (Ну если эта затея заточена для объединения в связку с компараторами аля для построения силового моста или не моста с обратной связью )
Я не знаю что и куда у вас там тянется, а темболее почему.
Я вам привёл РАБОЧИЙ! пример!!! И доходчиво объяснил, что надо с этим делать!
А что у вас не получается почитайте в RM
И когда изучите этот документ тогда и будете понимать что и куда тянуть
Ну а если почему в одном тянется, а в друго ничего нет, так это потому (скорее всего так как я не телепат) что на каждом канале надо установить счёт до половинного значение ARR
У меня предчувствие, что с таким знанием RM мост вы будете делать очень долго
Да и забудьте вы этот HAL (КАЛ)
На CMSIS советую писать это как на высокоуровневом ассемблере
Всё таки счёт UP/DOWN необходимо обязательно!!! (забыл и говорил по памяти, а она иногда подводит)
Вот инициализация без всякого лишнего, при F 48 мегагерцах на выходе частота 100 килогерц (50 на каждый канал) с заполнением 25% на канал.(Как на вашей картинке ) Думаю пример исчерпывающий, я только что его на работоспособность проверил всё работает!!!
TIM1->PSC = 0;
TIM1->ARR = 480;
TIM1->CCMR1 = TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC2M | TIM_CCMR1_OC2CE | TIM_CCMR1_OC1CE;;
TIM1->CCER = TIM_CCER_CC1E | TIM_CCER_CC2E ;//| TIM_CCER_CC1P;
TIM1->BDTR = TIM_BDTR_MOE ;//| TIM_BDTR_AOE | TIM_BDTR_BKP | TIM_BDTR_BKE;
TIM1->CCR1 = 120;
TIM1->CCR2 = 360;
TIM1->CR1 = TIM_CR1_CMS | TIM_CR1_CEN;
Фотоотчёт прилагаю Спойлер
И чтоб вы поняли урок вот ещё информация - '0' счёта находится на середине верхнего (1 канал) пика ну а '480' на середине нижней (2 канал) Это так для образования чтоб поняли всё таки чем отличается от вашей картинки
Последний раз редактировалось OlegarX-RUS Ср мар 01, 2017 11:35:07, всего редактировалось 2 раза.