找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1276|回复: 3
收起左侧

STM32F103C8T6单片机的TIM4无法进入中断

[复制链接]
ID:1009134 发表于 2023-7-17 22:03 | 显示全部楼层 |阅读模式
想要使用TIM4进行定时,但无法进入中断,改成TIM2却可以


void TIM4_Config(void) {
   
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4 , ENABLE);

    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    TIM_TimeBaseStructure.TIM_Period = 10000 - 1;
    TIM_TimeBaseStructure.TIM_Prescaler = 7200 - 1;
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
    TIM_TimeBaseInit(TIM4 , &TIM_TimeBaseStructure);
   
    TIM_ITConfig(TIM4 , TIM_IT_Update, ENABLE);

    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
    NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);

    TIM_Cmd(TIM4 , ENABLE);   

}

=====================================================
=====================================================

#include "stm32f10x.h"                  // Device header
#include "General_Init.h"
#include "OLED.h"
#include "Timer_Init.h"

uint16_t count = 0;

int main() {
   
    OLED_Init();//OLED初始化
   
    while(1) {
        OLED_ShowNum(1 , 1 , count , 4);
    }
   
}

void TIM4_IRQHandler(void) {
    if(TIM_GetITStatus(TIM4 , TIM_IT_Update) != RESET) {
        count = count++;
        TIM_ClearITPendingBit(TIM4 , TIM_IT_Update);
    }
}


回复

使用道具 举报

ID:123289 发表于 2023-7-18 08:20 | 显示全部楼层
此类问题的解决套路:
1、查手册,看看有无TIM4?
2、TIM4中断是否已打开、允许中断?
3、TIM4中断源是否触发?(计数的CLK)
4、是否有平级或更高级的中断在运行,且中断服务程序执行时间很长。
5、设法证明TIM4中断未被执行?
回复

使用道具 举报

ID:190832 发表于 2023-7-18 09:09 | 显示全部楼层
定时器没使能
回复

使用道具 举报

ID:320306 发表于 2023-7-19 17:23 | 显示全部楼层
TIM4_Config()放到程序开始位置,还有就是你程序有问题吧,怎么时钟初始化这些度没有,中断向量表初始化也没有,建议对比一个能运行的程序修改。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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