STM32L4S5I-IOT01A开发板TIM1输出比较无法驱动LED闪烁求助
STM32L4S5开发板TIM1无法触发PB14 LED闪烁问题
我正在使用B-L4S5I-IOT01A开发板(STM32L4S5VIT6)进行裸机开发课程学习,但无法通过定时器溢出触发LED闪烁。
我的开发板中LED连接在PB14引脚,查阅文档得知PB14在复用功能1下对应TIM1_CH2N。
以下是我的初始化代码:
void initTimerTim1() { RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; (void)RCC->APB2ENR; GPIOB->MODER &= ~(1U << 28); GPIOB->MODER |= 1U << 29; GPIOB->AFR[1] |= 1U << 24; GPIOB->AFR[1] &= ~(1U << 25); GPIOB->AFR[1] &= ~(1U << 26); GPIOB->AFR[1] &= ~(1U << 27); TIM1->PSC = 400 - 1; TIM1->ARR = 20000 - 1; TIM1->CNT = 0; TIM1->CCMR1|=TIM_CCMR1_OC2M_0|TIM_CCMR1_OC2M_1; TIM1->CCER|=TIM_CCER_CC2E; TIM1->BDTR |= TIM_BDTR_MOE; TIM1->CR1 |= TIM_CR1_CEN; } int main() { RCC->AHB2ENR |= 1U << 1; RCC->AHB2ENR |= 1U << 2; initTimerTim1(); while (1){} }
我已检查相关寄存器,看起来配置正确(至少根据我的理解):
GPIOB->MODER MODER14 = 0b10 (10: Alternate function mode) GPIOB->AFRH PIN14 = 0b0001 (0001: AF1) TIM1->CR1 CEN = 0b1 TIM1->CCER CC2E = 0b1 TIM1->CCMR1_Output O2CM=0b011
请问是否可以通过TIM1实现该功能?(课程中使用的是TIM2)
内容的提问来源于stack exchange,提问作者Witnes
相关产品推荐
相关产品推荐

