اطلاعیه

Collapse
No announcement yet.

delay_us

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

    delay_us

    سلام
    چرا وقتی از این دستور استفاده می کنم ارور می ده؟
    دستور:
    delay_us(Rtime1);
    ارور:
    Error: C:\cvavr2\bin\1.c(138): constant integral expression required

    جالبه وقتی همین دستور رو با میلی ثانیه می دم هیچ اروری نمی ده و کار می کنه. قضیه چیه؟

    #2
    پاسخ : delay_us

    سلام

    نباید توی پرانتز متغیر بذاری...اگه زمانت متغیره...حتما باید از تایمر استفاده کنی

    موفق باشی
    خوب بودن تنها ویژگی ای است که برای دستیابی به آن نیاز به هیچ استعدادی نیست.... دکتر قمشه ای

    دیدگاه


      #3
      پاسخ : delay_us

      منم همین مشکل رو دارم. واسه این خط:

      کد:
       delay_us(d*10);
      این ارور را میده: constant integral expression required
      عجیبه! وقتی delay_us رو تبدیل به delay_ms میکنم، دیگه ارور نمیده و راحت کامپایل میشه.
      ولی خب برنامه خراب میشه! 1000 برابر فرق دارن!

      دلی دارم که از تنگی در او جز غم نمی گنجد........ غمی دارم ز دلتنگی که در عالم نمیگنجد

      دیدگاه


        #4
        پاسخ : delay_us

        چقدر پاسخ!
        آخه چرا delay_us رو قبول نمیکنه و ارور میده؟ :angry:
        حداقل اینو بگین:
        اگه بجای میکرو ثانیه از این روش استفاده کنم، درسته؟ ارور نمیده و کامپایل میشه. ولی عملی واقعا درست کار میکنه؟ :question:

        کد:
        delay_ms(d/1000)
        دلی دارم که از تنگی در او جز غم نمی گنجد........ غمی دارم ز دلتنگی که در عالم نمیگنجد

        دیدگاه


          #5
          پاسخ : delay_us

          احتمالا برای این چنین امکانی رو برای دستور delay_us قرار ندادند که ممکن است زمان اجرای عملیات داخل پرانتز در مقایسه با زمان اجرای دستور قابل مقایسه بشه و دقت خیلی کم بشه
          http://dl.drelahi.net

          دیدگاه


            #6
            پاسخ : delay_us

            یعنی نمیشه؟ اگر جای d، عدد 1 بزارم، میشه 0.001 میلی ثانیه، یا همون 1میکرو ثانیه. ولی آیا delay_ms عدد 0.001 رو میشناسه؟

            مشکل اصلی من اینه که دستور (delay_us(d که میزنم، میگه constant integral expression required و به مشکل میخورم.
            مگه کجای دستورم ایراد داره که us رو قبول نداره؟ ولی میزنم (delay_ms(d قبول میکنه! d هم متغیر signed int تعریف شده، بین 1 تا 100
            دلی دارم که از تنگی در او جز غم نمی گنجد........ غمی دارم ز دلتنگی که در عالم نمیگنجد

            دیدگاه

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