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

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个回答
埃斯提爱慕 回答时间:2015-6-12 23:36:42
提示: 作者被禁止或删除 内容自动屏蔽
小小超 回答时间: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才是王道
小小超 回答时间:2015-6-16 13:59:41
liuzhu 发表于 2015-6-13 09:51
弱问一句,使用STVD能用库函数么

能用的,

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版