สอบถามเรื่องการเซ็ต Timer Overflow ของ STM32F107 ครับ

Started by Mr.ken, October 21, 2013, 04:46:24 PM

Previous topic - Next topic

Mr.ken

ผมต้องการตั้งค่าให้เกิดการ Overflow ของ Timer2 ทุกๆ 1uSec. ครับ และระหว่างเกิดการ Overflow จะต้องมีการอ่านค่าพอร์ตและคำนวณค่าด้วยครับ
ผมต้องทำการเซ็ต Timer2 อย่างไรบ้างครับ รบกวนท่านที่่เคยทำระบบแบบนี้ช่วยแนะนำหน่อยครับ

มือใหม่หัดเล่น ARM ครับ

tha

Quote
void TIM2_Configuration(void)
{
    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
    TIM_DeInit(TIM2);
   
    TIM_TimeBaseStructure.TIM_Period = 71;     // period = 72, 1us
    TIM_TimeBaseStructure.TIM_Prescaler = 0;  // prescaler 1, 72MHz
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
    TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);
   
    TIM_ARRPreloadConfig(TIM2,DISABLE);
    TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);
    TIM_Cmd(TIM2,ENABLE);
}

Quote
void NVIC_Configuration(void)
{
   NVIC_InitTypeDef NVIC_InitStructure;
   
#ifdef  VECT_TAB_RAM 
  /* Set the Vector Table base location at 0x20000000 */
  NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
#else  /* VECT_TAB_FLASH  */
  /* Set the Vector Table base location at 0x08000000 */
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);   
#endif
   
   // 2 bits for Preemption Priority and 2 bits for Sub Priority
   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
   
   
   
    NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
   NVIC_Init(&NVIC_InitStructure);
   
     // Set SysTick interrupt vector Preemption Priority to 1
   NVIC_SystemHandlerPriorityConfig(SystemHandler_SysTick, 1, 0);
}


Quote
void TIM2_IRQHandler(void)
{
   if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET)
   {
      TIM_ClearITPendingBit(TIM2,TIM_IT_Update);
                อ่านค่า port
                คำนวณตัวเลข
          }
}

Mr.ken