標(biāo)題: STM32F103C8T6單片機(jī)的TIM4無(wú)法進(jìn)入中斷 [打印本頁(yè)]

作者: SYWu    時(shí)間: 2023-7-17 22:03
標(biāo)題: STM32F103C8T6單片機(jī)的TIM4無(wú)法進(jìn)入中斷
想要使用TIM4進(jìn)行定時(shí),但無(wú)法進(jìn)入中斷,改成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);
    }
}



作者: yzwzfyz    時(shí)間: 2023-7-18 08:20
此類(lèi)問(wèn)題的解決套路:
1、查手冊(cè),看看有無(wú)TIM4?
2、TIM4中斷是否已打開(kāi)、允許中斷?
3、TIM4中斷源是否觸發(fā)?(計(jì)數(shù)的CLK)
4、是否有平級(jí)或更高級(jí)的中斷在運(yùn)行,且中斷服務(wù)程序執(zhí)行時(shí)間很長(zhǎng)。
5、設(shè)法證明TIM4中斷未被執(zhí)行?
作者: hange_v    時(shí)間: 2023-7-18 09:09
定時(shí)器沒(méi)使能
作者: zsyzdx    時(shí)間: 2023-7-19 17:23
TIM4_Config()放到程序開(kāi)始位置,還有就是你程序有問(wèn)題吧,怎么時(shí)鐘初始化這些度沒(méi)有,中斷向量表初始化也沒(méi)有,建議對(duì)比一個(gè)能運(yùn)行的程序修改。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1