最近看资料说:STM32F101xx系列产品中内置了3个通用定时器TIM2、TIM3、TIM4,每个定时器都有一个16位的自动加载递加/递减计数器、一个16位的预分频器和4个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲模式输出,在最大的封装配置中可提供最多12个输入捕获、输出比较或PWM通道。但是通用定时器中只有四个比较/捕获寄存器CCR1~CCR4,于是我就有以下的疑问: 1:在固件库中TIM_SetCompare1(TIM2)与TIM_SetCompare1(TIM2)有解释设置某个 TIM 捕获比较1 寄存器的值,这里的捕获比较寄存器1是否就是同一个计数器也就是CCR1呢? 2:如果对1的回答是,那么以下情况有是怎么回事呢? a、如果对TIM2的通道1设置为输入捕获状态,那么CCR1用来锁定计数器的值,CCR1就是只读的了。此时,如果TIM3要设置CCR1就不能实现。 b、如果对TIM2的通道1设置为输出比较状态,TIM_SetCompare1(TIM2, IC1_Value),就设置了CCR1的值了。此时如果中断还没有产生,TIM_SetCompare1(TIM3, IC2_Value),那是不是重新设置了CCR1了? 3:如果对1的回答位否,那么感觉就像每一个TIM有4个通道,每一个通道对应1一个比较/捕获寄存器,岂不是与通用定时器只有4的比较/捕获寄存器相矛盾了?
如何利用4个比较/捕获寄存器来产生12个输出比较中断呢?
期待高手回答,先谢过了!! |