OpenEdv-开源电子网

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

定义了中断服务函数,进不去中断

[复制链接]

2

主题

2

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2021-10-24
在线时间
7 小时
发表于 2024-1-9 13:10:25 | 显示全部楼层 |阅读模式
10金钱
定义了中断服务函数,但是定时器中断一直进不去
void TIMER3_Init(u16 arr,u16 psc)
{
        TIM_TimeBaseInitTypeDef           TIM_TimeBaseInitStruct;
        NVIC_InitTypeDef                            NVIC_InitStruct;
       
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
       
        TIM_TimeBaseInitStruct.TIM_Period                                 = arr-1;
        TIM_TimeBaseInitStruct.TIM_Prescaler                         = psc-1;                                //84M
        TIM_TimeBaseInitStruct.TIM_ClockDivision                 = TIM_CKD_DIV1;
        TIM_TimeBaseInitStruct.TIM_CounterMode                         = TIM_CounterMode_Up;
        TIM_TimeBaseInitStruct.TIM_RepetitionCounter         = 0;
        TIM_TimeBaseInit(TIM3, &TIM_TimeBaseInitStruct);
       
        TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
        TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE); //开启定时器3的中断
                                                        //中断使能
        NVIC_InitStruct.NVIC_IRQChannel = TIM3_IRQn;
        NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
        NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0;
        NVIC_InitStruct.NVIC_IRQChannelSubPriority = 3;
        NVIC_Init(&NVIC_InitStruct);
       
       
        TIM_Cmd(TIM3,ENABLE);
}

void TIM3_IRQHandler(void)
{
        if(TIM3->SR & 0X01)
        {
                printf("1\r\n");
                TIM3->SR &= ~(0X01);
        }
       
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 13:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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