Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > ЩИМ на 17 таймере


Автор: supercelt 9.10.2016, 00:48
Приветствую! Не получается настроить ШИМ. Контроллер STM32f100ret6b. У меня к ноге PA7 подключён светодиод. Я хотел на него вывести шим. По даташиту на эту ногу можно повесить 17таймер, с ремапом. В отладчике посмотрел таймер тикает. А вот на ноге ничего. Порт настроен правильно. проверял. на 50 мгц. Если 1 на него кинуть принудительно то диод горит. Настройки порта не привожу, там всё норм. Альтернативка тоже там включается. МК тикает 24 мгц
Код

RCC->APB2ENR |= RCC_APB2ENR_TIM17EN; //Taktirovanie taimera 17
        AFIO->MAPR2 |= AFIO_MAPR2_TIM17_REMAP; //Remap taimera 17 na port PA7
        TIM17->PSC = 0;       //Prescaler
        TIM17->CR1 |= TIM_CR1_ARPE; //ARR register is buffered
        TIM17->ARR = 1000;  
        TIM17->CCMR1 |= TIM_CCMR1_OC1PE;
        TIM17->CCMR1 |= TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2;
        TIM17->CCR1 = 500;
        TIM17->CCER |= TIM_CCER_CC1E | TIM_CCER_CC1P;
        TIM17->DIER |= TIM_DIER_UIE;
        TIM17->CR1 |= TIM_CR1_CEN;

Автор: baldman88 10.10.2016, 08:22
Я, возможно, что-то путаю, так как давно не смотрел даташиты, но у первой серии всего было до 16 таймеров. Откуда взялся 17-й?

Добавлено через 3 минуты и 58 секунд
Ну да. Вот http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f1-series/stm32f100-value-line/stm32f100re.html, среди Key Features, написано: Up to 16 timers. Тогда вопрос, почему Ваш код компилируется?

Автор: supercelt 15.10.2016, 20:13
Цитата(baldman88 @ 10.10.2016,  08:22)
Я, возможно, что-то путаю, так как давно не смотрел даташиты, но у первой серии всего было до 16 таймеров. Откуда взялся 17-й?

Добавлено @ 08:26
Ну да. Вот http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f1-series/stm32f100-value-line/stm32f100re.html, среди Key Features, написано: Up to 16 timers. Тогда вопрос, почему Ваш код компилируется?

http://radikal.ru

http://radikal.ru

Автор: supercelt 15.10.2016, 23:22
Проблематик решён. Не правильно настроен выход. Надо было не как выход, а как альтернативный выход. + Установка бита MOE в регистре BDTR

Автор: baldman88 16.10.2016, 11:02
Ага, уже посмотрел. Своеобразная у них нумерация.

Автор: bass 17.10.2016, 12:12
Смотрю вы СТМ осилили... А какой сапр для печатных плат используете ???

Автор: leocat3 9.11.2016, 08:00
Плохая однако идея, использовать 16 и 17 таймеры для ШИМ-а... А systick потов куда?

Автор: supercelt 9.11.2016, 12:00
Цитата(bass @ 17.10.2016,  12:12)
Смотрю вы СТМ осилили... А какой сапр для печатных плат используете ???

Да есть немного. Использую пока sprint layout

Добавлено @ 12:02
Цитата(leocat3 @ 9.11.2016,  08:00)
Плохая однако идея, использовать 16 и 17 таймеры для ШИМ-а... А systick потов куда?

А почему плохая? Работает же. А систик я использую для милли, микро и нано задержек)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)