你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

TIM2通道1的比较输出无法进入中断

[复制链接]
liuzhu 提问时间:2015-6-12 16:10 /
我的目的是利用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 */
收藏 评论6 发布时间:2015-6-12 16:10

举报

6个回答
dsjsjf 回答时间:2015-6-12 23:36:42
帮顶一下
ts2000 回答时间:2015-6-13 08:39:12
还是用库函数简单。。。。。。。
liuzhu 回答时间:2015-6-13 09:04:12
嗯。。。那我还是去尝试用库函数吧
liuzhu 回答时间:2015-6-13 09:51:24
ts2000 发表于 2015-6-13 08:39
还是用库函数简单。。。。。。。

弱问一句,使用STVD能用库函数么
为什么是EEFOCUS小白 回答时间:2015-6-13 15:14:40
cube才是王道
ts2000 回答时间:2015-6-16 13:59:41
liuzhu 发表于 2015-6-13 09:51
弱问一句,使用STVD能用库函数么

能用的,

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版