- //TIM8,PC6 PC7
- RCC->APB2ENR |= 1<<1; //TIM8时钟使能
- RCC->AHB1ENR |= 1<<2; //GPIOC端口时钟使能
-
- GPIOC->MODER &= 0xFFFF0FFF; //PC6,PC7设置为复用模式
- GPIOC->MODER |= 0x0000A000;
-
- GPIOC->AFR[0] &= 0x00FFFFFF;
- GPIOC->AFR[0] |= 0x33000000;
-
- TIM8->ARR = 0xFFFF;
- TIM8->PSC = 0;
-
- TIM8->CCMR1 &= 0xFCFC; //CC1 通道配置为输入, IC1 映射到 TI1 上,CC2 通道配置为输入, IC2 映射到 TI2 上
- TIM8->CCMR1 |= 0x0101;
-
- TIM8->CCER &= 0xFFDD;
- TIM8->CCMR1 &= 0x0F0F; //不滤波
-
- TIM8->SMCR &= 0xFFF8;
- TIM8->SMCR |= 0x0003;
-
- TIM8->CR1 |= 1<<0; //使能计数器
-
- //TIM1,PA8 PA9
- RCC->APB2ENR |= 1<<0; //TIM1时钟使能
- RCC->AHB1ENR |= 1<<0; //GPIOA端口时钟使能
-
- GPIOA->MODER &= 0xFFF0FFFF; //PA8,PA9设置为复用模式
- GPIOA->MODER |= 0x000A0000;
-
- GPIOA->AFR[1] &= 0xFFFFFF00;
- GPIOA->AFR[1] |= 0x00000011;
-
- TIM1->ARR = 0xFFFF;
- TIM1->PSC = 0;
-
- TIM1->CCMR1 &= 0xFCFC; //CC1 通道配置为输入, IC1 映射到 TI1 上,CC2 通道配置为输入, IC2 映射到 TI2 上
- TIM1->CCMR1 |= 0x0101;
-
- TIM1->CCER &= 0xFFDD;
- TIM1->CCMR1 &= 0x0F0F; //不滤波
-
- TIM1->SMCR &= 0xFFF8;
- TIM1->SMCR |= 0x0003;
-
- TIM1->CR1 |= 1<<0; //使能计数器
代码如上所示,TIM8是正常工作能计数的,但是TIM1无**常计数,DIR位一直在变动。不知道是不是PA9是USART1_TX的原因,但是在初始化的时候没有初始化串口。大神,求助!!!
|