OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6559|回复: 2

定时器TIM_ITConfig,初始化加上这个就不行了,有什么前提么

[复制链接]

7

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2015-10-28
在线时间
0 小时
发表于 2015-11-13 12:30:41 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]/***************************** * ?¨?±?÷2???? * *****************************/ void AD_CW_TIM2_Configuration(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; TIM_DeInit(TIM2); /* TIM6 Periph clock enable */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); /* Time base configuration */ TIM_TimeBaseStructInit(&TIM_TimeBaseStructure); TIM_TimeBaseStructure.TIM_Period =10-1;//0X3D 20000-1 TIM_TimeBaseStructure.TIM_Prescaler = 840-1;//8400-1 TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); /* TIM6 TRGO selection */ TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_Update); NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);//加上这句就跑飞了,为啥呢? /* TIM6 enable counter */ TIM_Cmd(TIM2, ENABLE); //TIM_CtrlPWMOutputs(TIM2, ENABLE); }[/mw_shl_code]

越夜越拉风丶
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

52

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2015-4-14
在线时间
0 小时
发表于 2015-11-13 13:32:20 | 显示全部楼层
中断程序呢?
你该不会中断程序都没写就开中断了吧?
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2023-11-28
在线时间
4 小时
发表于 2023-11-29 16:01:21 | 显示全部楼层
我也遇到过类似问题。TIM3 4个通道都使能捕获了,但是只要一开CH3、CH4的中断,就不知道走了
CH1、CH2的中断可以。中断处理函数写了。
void Timer3ISR(void)
{
    int ret;

    //TIM3, CH2通道
    ret = TIM_GetFlagStatus(TIM3, TIM_FLAG_CC2);
    if (ret)
    {
        TIM_ClearITPendingBit(TIM3, TIM_IT_CC2);
        Tim3Ch2Isr();
    }

    //TIM3, CH1通道
    ret = TIM_GetFlagStatus(TIM3, TIM_FLAG_CC1);
    if (ret)
    {
        TIM_ClearITPendingBit(TIM3, TIM_IT_CC1);
        Tim3Ch1Isr();
    }

    //TIM3, CH3通道
    ret = TIM_GetFlagStatus(TIM3, TIM_FLAG_CC3);
    if (ret)
    {
        TIM_ClearITPendingBit(TIM3, TIM_IT_CC3);
        Tim3Ch3Isr();
    }

    //TIM3, CH4通道
    ret = TIM_GetFlagStatus(TIM3, TIM_FLAG_CC4);
    if (ret)
    {
        TIM_ClearITPendingBit(TIM3, TIM_IT_CC4);
        Tim3Ch4Isr();
    }
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 02:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表