找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 824|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

stm32單片機(jī)定時中斷的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
我在使用STM32F103RCT6做定時器中斷實(shí)驗(yàn)的時候發(fā)現(xiàn),當(dāng)使用定時器5,6,7都不能觸發(fā)定時器中斷進(jìn)入服務(wù)函數(shù),但是使用定時器12348卻可以,配置完全一樣,按道理也不應(yīng)該有區(qū)別才對呀,搞了一天也不知道為什么

屏幕截圖 2024-09-17 144510.png (145.31 KB, 下載次數(shù): 6)

屏幕截圖 2024-09-17 144510.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:404160 發(fā)表于 2024-9-18 12:00 | 只看該作者
可能原因分析
時鐘配置問題:
APB1/APB2時鐘使能: 確保定時器5、6、7所在的APB1時鐘已經(jīng)正確使能。
時鐘源選擇: 檢查時鐘源是否正確選擇,尤其是對于不同組的定時器,時鐘源可能有所不同。
NVIC中斷配置問題:
中斷優(yōu)先級: 確認(rèn)定時器5、6、7對應(yīng)中斷的優(yōu)先級是否設(shè)置過高,導(dǎo)致被其他中斷搶占。
中斷分組: 檢查NVIC中斷分組是否正確,確保定時器中斷可以被正常響應(yīng)。
試試下面的代碼看可行否?
void Timer5_Init(void) {
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE);

    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
    TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
    TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
    TIM_TimeBaseInitStructure.TIM_Period = 999;  // 1000 - 1
    TIM_TimeBaseInitStructure.TIM_Prescaler = 7199;  // 7200 - 1
    TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;
    TIM_TimeBaseInit(TIM5, &TIM_TimeBaseInitStructure);

    TIM_ClearFlag(TIM5, TIM_FLAG_Update);
    TIM_ITConfig(TIM5, TIM_IT_Update, ENABLE);

    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_InitStructure.NVIC_IRQChannel = TIM5_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);

    TIM_Cmd(TIM5, ENABLE);
}
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表