Код
//настроим порт PA11
RCC_APB2ENR_bit.IOPAEN = 1; // Разрешить тактирование PORTA
RCC_APB2ENR_bit.AFIOEN = 1; // Тактирование альтернативных функций GPIO.
GPIOA_CRH_bit.MODE11 = 2; // Output mode, max speed 2 MHz.
GPIOA_CRH_bit.CNF11 = 2; //Alternate function output Push-pull
//настроим таймер ТМ1 для генерации шим сигнала
RCC_APB2ENR_bit.TIM1EN = 1; //включение таймера
TIM1_PSC = 22; // 22118400 / 22 период ~ 1 мкс
TIM1_CCER_bit.CC4E = 1; //разрешим канал 4
TIM1_CCMR2_bit.OC4M = 6; //110b PWM mode 1
TIM1_CCR4 = 0x8000;
TIM1_ARR = 0x9000;
TIM1_CR1_bit.CEN = 1; // On TM1
RCC_APB2ENR_bit.IOPAEN = 1; // Разрешить тактирование PORTA
RCC_APB2ENR_bit.AFIOEN = 1; // Тактирование альтернативных функций GPIO.
GPIOA_CRH_bit.MODE11 = 2; // Output mode, max speed 2 MHz.
GPIOA_CRH_bit.CNF11 = 2; //Alternate function output Push-pull
//настроим таймер ТМ1 для генерации шим сигнала
RCC_APB2ENR_bit.TIM1EN = 1; //включение таймера
TIM1_PSC = 22; // 22118400 / 22 период ~ 1 мкс
TIM1_CCER_bit.CC4E = 1; //разрешим канал 4
TIM1_CCMR2_bit.OC4M = 6; //110b PWM mode 1
TIM1_CCR4 = 0x8000;
TIM1_ARR = 0x9000;
TIM1_CR1_bit.CEN = 1; // On TM1
После такой инициализации в дебагере вижу что счетчик таймера считает 0...0х9000. Но на ноге РА11 стоит 0. Почему на РА11 нет ШИМ?
ps Порта РА11 имеет две альтернативные функции USART1_CTS / TIM1_CH4. Как сделать чтобы порт был TIM1_CH4? Как сделать чтобы порт был USART1_CTS?