請(qǐng)教一個(gè)問題,我這樣寫系統(tǒng)滴答定時(shí)器為啥就是不進(jìn)滴答定時(shí)器的中斷呢


//*********************************************************************************************************

#include "systick.h"



void SysTick_Handler(void) __attribute__((interrupt("WCH-Interrupt-fast")));


Systick_Data ?Systick_AllData = {0};


//SysTick 初始化配置

static uint32_t SysTick_Config(uint32_tticks)

{

? ? SysTick->CTLR = 0x00000000; ? ? ? ? ? ? //控制寄存器復(fù)位


? ? SysTick->SR = 0x00000000; ? ? ? ? ? ? ? //狀態(tài)寄存器復(fù)位


? ? SysTick->CNT = 0x00000000; ? ? ? ? ? ? ?//計(jì)數(shù)器復(fù)位,設(shè)置初始值為0


? ? SysTick->CMP = ticks; ? ? ? ? ? ? ? ? ? //給重加載寄存器賦值


? ? NVIC_SetPriority(SysTicK_IRQn, 3); ? ? ?//設(shè)置SysTick中斷優(yōu)先級(jí)


? ? NVIC_EnableIRQ(SysTicK_IRQn); ? ? ? ? ? //使能開啟Systick中斷


? ? SysTick->CTLR |= 0x0000000B; ? ? ? ? ? ?//啟動(dòng)系統(tǒng)計(jì)數(shù)器STK(HCLK/8時(shí)基),向上計(jì)數(shù)到比較值后重新從 0 開始計(jì)數(shù)


? ? return (0);

}


//SysTick初始化

void Systick_Init(void)

{

? ? //此處在進(jìn)行初始化的時(shí)候設(shè)置比較寄存器的值

? ? SysTick_Config(SystemCoreClock / 8000 );//1ms ? 72M/8000/9000000 = 1/1000 = 1ms


}


//SysTick中斷

void SysTick_Handler(void)

{

? ? SysTick->SR ?= 0;//中斷標(biāo)志位清零


? ? Systick_AllData.Counting_Basis ++;

? ? if(Systick_AllData.Counting_Basis >= 1000)

? ? {

? ? ? ? GPIOB->OUTDR ^= ((uint16_t)0x0004);//反轉(zhuǎn)

? ? ? ? Systick_AllData.Counting_Basis = 0;

? ? }


}

//*****************************************************************************************************************

#include "debug.h"

#include "gpio.h"

#include "lcd.h"

#include "systick.h"

#include "timer.h"

#include "app_lcd.h"

#include "app_led.h"



int main(void)

{

? ? NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

? ? SystemCoreClockUpdate();

? ? USART_Printf_Init(115200); ?

? ? Systick_Init();

? ? TIM1_Int_Init(1000-1,144-1);

? ? Delay_Init();

? ? GPIO_LED_Init();

? ? LCD_Init();

? ? printf("SystemClk:%d\r\n",SystemCoreClock);

? ? printf("This is printf example\r\n");



? ? while(1)

? ? {

? ? ? ? Led_light();

// ? ? ?LCD_Disp();


? ? }

}




您好,若你是通過LED翻轉(zhuǎn)判斷是否進(jìn)入中斷,建議你的翻轉(zhuǎn)可以參考下圖寫法,使用哪個(gè)引腳直接調(diào)用,此外最直觀的方法可以加個(gè)打印,直接通過打印判斷是否進(jìn)入中斷

image.png


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频