Timer 2,3 ไม่ทำงานใน STM8S105C4

  • 3 Replies
  • 1549 Views
*

Offline wiput

  • **
  • 23
    • View Profile
Timer 2,3 ไม่ทำงานใน STM8S105C4
« 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);
            }
      
      
 }



Re: Timer 2,3 ไม่ทำงานใน STM8S105C4
« Reply #1 on: May 23, 2013, 12:02:14 am »
เปิด clk ให้มันยังครับ หรือเลือก srouce ของ clk ยังครับ
รับเขียนโปรแกรม ออกแบบวงจร ไปจนถึง PCB
ไมโคร : 8/16/32 bit  ทุกตระกูล
สนใจติดต่อ
saintentex@gmail.com
หรือ 081-1846590

*

Offline wiput

  • **
  • 23
    • View Profile
Re: Timer 2,3 ไม่ทำงานใน STM8S105C4
« Reply #2 on: May 23, 2013, 03:21:22 pm »
มันเป็น Default  ตั้งแต่ CPU boot แล้วคับว่าให้จ่าย Peripheral clock

Re: Timer 2,3 ไม่ทำงานใน STM8S105C4
« Reply #3 on: May 24, 2013, 12:29:18 pm »
Simulator Debug มันไม่นับอยู่แล้วนะ
ต้องลงไปดีบักบอร์ดจริงครับ
รับเขียนโปรแกรม ออกแบบวงจร ไปจนถึง PCB
ไมโคร : 8/16/32 bit  ทุกตระกูล
สนใจติดต่อ
saintentex@gmail.com
หรือ 081-1846590