ผมใช้ STM32F107VCT6 เปิดใช้ TIMER Interrupt ช่อง 1 ได้ไม่มีปัญหาครับ แต่ผมเปิดใช้ TIMER interrupt ช่อง 2 ไม่ได้เลยครับ รบกวนผู้รู้ช่วยแนะนำ Code หน่อยน่ะครับ
ผมใช้ ride7 เขียนครับ
พอดีไปเจอวิธีการ 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 โดยตรงครับ หวังว่าคงพอจะมีประโยชน์สำหรับคนที่ติดปัญหาเดียวกันน่ะครับผม