พอดีไปเจอวิธีการ set Timer2 เลยจะนำมาฝากคนที่ติดปัญหาเดียวกันครับ
//------------------------------ Function TIM2 Configuration -----------------------------------------//
void TIM2_setup()
{
RCC->APB1ENR=0x00000001; //Timer2 peripheral clock enable
TIM2->CR1=0X0280; //0x0281;//Prescalar is 10 ie. tDTS=4*tCK_INT, autoreload enabled
TIM2->PSC=0x0001; //Prescaler is 1
TIM2->ARR=0x0167; //Autoreload is 359 at 10us
TIM2->CNT=0x0000;
TIM2->EGR=0x0000; //0x0001;
TIM2->DIER = 0x0001;; // enable interrupt
NVIC->ISER[0] |= (1 << (TIM2_IRQChannel & 0x1F)); // enable interrupt
TIM2->CR1|=0X0001;
}
//------------------------------ Function TIM2 Update ISR --------------------------------------------//
void TIM2_IRQHandler(void)
{
x = x+1;
TIM2->SR=0x0000;
TIM2->CR1|=0X0001;
}
เซตที่ register โดยตรงครับ หวังว่าคงพอจะมีประโยชน์สำหรับคนที่ติดปัญหาเดียวกันน่ะครับผม