اطلاعیه

Collapse
No announcement yet.

مشکل در اسفاده از تابع تاخیر در avr

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

    مشکل در اسفاده از تابع تاخیر در avr

    با سلام و خسته نباشد

    یه مشکل بزرگ دارم اون هم اینه که هنگاه استفاده از تابع تاخیر delay_ms یا delay_us در avr مقدار تاخیری که میکرو ایجاد می کنه اصلا برابر عددی نیست که داخل پرانتز بعد از تابع تاخیر نوشته میشه به عنوان مثال می نویسم delay_ms(1000 , ولی تاخیرش میشه 0.7 ثانیه یا می نویسم delay_us ( 10 ) ولی تاخیرش اصلا برابر 10 میکرو ثانیه نمیشه
    لطفا در این مورد منو راهنمایی کنید

    #2
    پاسخ : مشکل در اسفاده از تابع تاخیر در avr

    کلاک میکرو رو درست تعریف کردی با دستور xtal
    اگه باز هم دقت بهتری میخواستی میتونی خودت تابع delay بنویسی با حلقه for و دستور nop

    دیدگاه


      #3
      پاسخ : مشکل در اسفاده از تابع تاخیر در avr

      من از codevision استفاده می کنم و ملاک رو از طریق codewizard تنظیم می کنم

      دیدگاه


        #4
        پاسخ : مشکل در اسفاده از تابع تاخیر در avr

        اگر بالاترین میزان دقت رو میخوای سعی کن کلاک رو جوری انتخاب کنی که با تقسیم برای کلاک تایمر یک عددی نزدیک به 1 میلی ثانیه بتونی در بیاری. این برای تاخیری با 1 میلی ثانیه دقت. ولی برای تاخیر میکرو ثانیه ای (که البته خطای بیشتری به نسبه ممکنه داشته باشه) استفاده از یک تایمر سریعتره. البته مسلما برای تاخیر های کمتر از یک حدی (برای مثلا 10 میکرو ثانیه) همون لوپ زدن بهتره و راحتتر. حالا با یا بدون تایمر.

        دیدگاه


          #5
          پاسخ : مشکل در اسفاده از تابع تاخیر در avr

          سلام باید از تایمرها استفاده کنی برای تاخیر دقیق :read:

          دیدگاه

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