اطلاعیه

Collapse
No announcement yet.

درست نشمردن تایمر stm32f103؟!

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    درست نشمردن تایمر stm32f103؟!

    سلام دوستان.
    یه مشکلی برامپیش اومده که دیگه میخام
    من تایمر رو برای میکروی stm32f103 روشن می کنم و مثلا بعد از 10 میکروثانیه مقدار کانتر رو می خوانم. اگرچه تایمر رو با فرکانس 1MHz راه انداختم امامتاسفانه بعد از 10 میکروثانیه (تابع تاخیر رو با اسکوپ چک کردم مشکلی نبود) مقدار CNT رو که می خونم عدد چرت و پرت نشوم میده.
    کد:
    [FONT=Yekan]RCC->APB1ENR |= RCC_APB1ENR_TIM6EN;  [/FONT]TIM6->CR1 = 0;
    TIM6->CR2 = 0;
    TIM6->CNT = 0;  
    TIM6->PSC   = ( 72 - 1);    
    TIM6->RCR   =  0;     
    TIM6->ARR = 0xFFFF;	  
    		
    TIM6->CR1 = TIM_CR1_CEN;	
    delay_us(10);
    i=TIM6->CNT;  
    TIM6->CR1 =0;
    sprintf(str, "cnt = %d \n", i);
    [FONT=Yekan]printf(str);[/FONT]
    فرکانس میکرو 72 مگ هستش. البته اینم بگم وقتی تایمر رو وقفه فعال می کنم بعد از زمان موردنظر بهم وقفه میده اما حالت عادی انگار تایمر درست شمارش نمی کنه !!!
    به نظرتون ایراد کجاست؟

    #2
    پاسخ : درست نشمردن تایمر stm32f103؟!

    نوشته اصلی توسط casp_67 نمایش پست ها
    سلام دوستان.
    یه مشکلی برامپیش اومده که دیگه میخام
    من تایمر رو برای میکروی stm32f103 روشن می کنم و مثلا بعد از 10 میکروثانیه مقدار کانتر رو می خوانم. اگرچه تایمر رو با فرکانس 1MHz راه انداختم امامتاسفانه بعد از 10 میکروثانیه (تابع تاخیر رو با اسکوپ چک کردم مشکلی نبود) مقدار CNT رو که می خونم عدد چرت و پرت نشوم میده.
    سلام،
    من قبلا روی این تایمر کار میکردم، یادمه تا موقعی که روی مقداردهی به CNT حساب باز کرده بودم، به کلی مشکل برخورد میکردم!!!
    (مقدار دهی به CNT یه داستانی با بافر Prescaler Counter داره!!)
    شما بهتره به جای مقدارهی به CNT از بیت UG توی رجیستر TIM6_EGR استفاده کنی! مخصوص همین کاره! با ست کردنش تایمر از صفر شروع میکنه و بیت هم اتوماتیک صفر میشه!
    ...
    تست کن بیا نتیجه رو هم بگو!!!
    ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

    دیدگاه


      #3
      پاسخ : درست نشمردن تایمر stm32f103؟!

      بله ایراد کار همینجا بوده !

      دیدگاه

      لطفا صبر کنید...
      X