Electoday 2025

ไมโครคอนโทรลเลอร์ => Other MCUs => Topic started by: wiput on May 21, 2013, 03:56:52 PM

Title: Timer 2,3 ไม่ทำงานใน STM8S105C4
Post by: wiput on May 21, 2013, 03:56:52 PM
ผมใช้ Timer 2,3 บน STM8S105C4 แต่ว่ามันไม่ทำงานอ่ะคับ รบกวนผู้รู้ช่วยวิเคราะห์หน่อยคับ


ลองใช้โหนด Simulator Debug ใน STVD แล้วค่า TIM2_CNTR หรือ TIM3_CNTR ของอ่านมาค่ามาไม่เห็นมันนับเลยคับ (temp=TIM3_GetCounter() )

Function initial TIM3 เป็นดังนี้

void init_timer3(void)
{
           TIM3_DeInit();
      TIM3_TimeBaseInit(TIM3_PRESCALER_64,0);
      TIM3_SetCounter(0);
      TIM3_Cmd(DISABLE);
      
}

ผม Cleck update flag ใน delay function แต่มันไม่ overflow เลย งงมากเลยคับ

void delay_ms(u16 ms)
{
           u16 i;
      u16 temp=0;
      
      for(i=0;i<ms;i++)
      {
         TIM3_Cmd(DISABLE);
         TIM3_SetCounter(65286);   // 65535-250+1=65286  interrupt flag set when overflow
         TIM3_ClearFlag(TIM3_FLAG_UPDATE);
         TIM3_Cmd(ENABLE);
            
         while(TIM3_GetFlagStatus(TIM3_FLAG_UPDATE)!=SET)
          {
                temp=TIM3_GetCounter();
          }
         
         TIM3_ClearFlag(TIM3_FLAG_UPDATE);
         TIM3_Cmd(DISABLE);
            }
      
      
}


Title: Re: Timer 2,3 ไม่ทำงานใน STM8S105C4
Post by: Paekung on May 23, 2013, 12:02:14 AM
เปิด clk ให้มันยังครับ หรือเลือก srouce ของ clk ยังครับ
Title: Re: Timer 2,3 ไม่ทำงานใน STM8S105C4
Post by: wiput on May 23, 2013, 03:21:22 PM
มันเป็น Default  ตั้งแต่ CPU boot แล้วคับว่าให้จ่าย Peripheral clock
Title: Re: Timer 2,3 ไม่ทำงานใน STM8S105C4
Post by: Paekung on May 24, 2013, 12:29:18 PM
Simulator Debug มันไม่นับอยู่แล้วนะ
ต้องลงไปดีบักบอร์ดจริงครับ