TIM2通道1的比较输出无法进入中断
我的目的是利用TIM2通道1的比较输出模式(翻转模式),在翻转的情况下能产生一个中断,以便在中断内记录翻转的次数。但是发现一直无法进入中断函数TIM2_CC_IRQHandler (void)内。求各位同志帮忙看一下哪里有问题。再次谢过TIM2通道1的寄存器设置如下:
TIM2_CR1 = TIM2_CR1 | 0x00;
TIM2_CCMR1 = TIM2_CCMR1 | 0x30; // 通道1被设置为输出比较模式// OC1M = 011
// 计数器TIM2_CNT的值与捕获/比较寄存器1相同时,翻转
TIM2_CCER1 = TIM2_CCER1 | 0x03; // CC1P = 1,低电平为有效电平
// CC1E = 1,开启输出引脚
TIM2_EGR=TIM2_EGR | 0x02; //CC1G=1,通道CC1产生中断
TIM2_IER=TIM2_IER | 0x02; //允许捕获/比较1中断
TIM2_PSCR = 8; //初始时钟分频为64
TIM2_CCR1H = 0x7A; //初始化比较寄存器
TIM2_CCR1L = 0x12;
TIM2_CNTRH=0;
TIM2_CNTRL=0;
TIM2_CR1 = TIM2_CR1 | 0x01; // 启动计数
中断函数:
@far @interrupt void TIM2_CC_IRQHandler (void)
{
i++;
}
在中断配置文件stm8_interrupt_vector.c中
extern @far @interrupt void TIM2_CC_IRQHandler (void);
struct interrupt_vector const _vectab[]中为
{0x82, TIM2_CC_IRQHandler}, /* irq14 */
帮顶一下 还是用库函数简单。。。。。。。 嗯。。。那我还是去尝试用库函数吧:) ts2000 发表于 2015-6-13 08:39
还是用库函数简单。。。。。。。
弱问一句,使用STVD能用库函数么 cube才是王道 liuzhu 发表于 2015-6-13 09:51
弱问一句,使用STVD能用库函数么
能用的,
页:
[1]