[开发工具] 关于stm32l151 tim4 中断问题

[复制链接]
 楼主| jcky001 发表于 2024-7-25 15:11 | 显示全部楼层 |阅读模式
{
    tiM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4 , ENABLE);      /* 开启定时器 */
    TIM_DeInit(TIM4);
    //定时时间=((1+TIM_Prescaler )/72M)*(1+TIM_Period )
    TIM_TimeBaseStructure.TIM_Period=(32-1);                   /* 自动重装载寄存器周期的值(计数值) */
    /* 累计 TIM_Period个频率后产生一个更新或者中断 */
    TIM_TimeBaseStructure.TIM_Prescaler= (1);                  /* 时钟预分频数 72M/72 */
    TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;      /* 采样分频 */
    TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;  /* 向上计数模式 */
    TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
    TIM_ClearFlag(TIM4, TIM_FLAG_Update);                      /* 清除溢出中断标志 */
    TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE);                   /* 使能中断 */
    TIM_Cmd(TIM4, ENABLE);                                     /* 开启时钟 */

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4 , DISABLE);     /*先关闭等待使用*/   
}

求助此为tim4的程序配置,当TIM_TimeBaseStructure.TIM_Prescaler 配置为 2 的时候 就会不出中断
中断 是在 程序需要的时候 才会去 打开 tim4 使能
Bowclad 发表于 2024-7-26 11:37 | 显示全部楼层
分频太快了吗
两只袜子 发表于 2024-7-26 11:42 | 显示全部楼层
在配置完TIM4后,不要调用RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, DISABLE)
cr315 发表于 2024-7-26 11:42 | 显示全部楼层
检查NVIC配置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1636

主题

5575

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部