ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 16
  1. #1
    2016/10/17
    12
    1

    مشکل در نحوه ی تاخیر در Atmel Studio با تابع Delay

    سلام
    میخواستم توی Atmel Studio مقدار یک متغیر رو وارد تابع delay_ms کنم ولی ارور میده ، ولی همون کد رو وارد کد ویژن میکنم بدون هیچ مشکلی اجرا میشه .
    اینم ارورش :
    Error 1 __builtin_avr_delay_cycles expects an integer constant

    اینم کدش :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    اینم عکسش :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


  2. #2
    2022/02/28
    4
    0

    پاسخ : مشکل در نحوه ی تاخیر در Atmel Studio با تابع Delay

    اون متغیر رو توی تابع main تعریف کنید...
  3. #3
    2017/06/13
    1,380
    827

    پاسخ : مشکل در نحوه ی تاخیر در Atmel Studio با تابع Delay

    نقل قول نوشته اصلی توسط علی محمد شریفی

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام
    میخواستم توی Atmel Studio مقدار یک متغیر رو وارد تابع delay_ms کنم ولی ارور میده ، ولی همون کد رو وارد کد ویژن میکنم بدون هیچ مشکلی اجرا میشه .
    اینم ارورش :
    Error 1 __builtin_avr_delay_cycles expects an integer constant

    اینم کدش :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    اینم عکسش :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    سلام
    دلیلش اینه که نحوه پیاده*سازی delay توی این دو کمپایلر متفاوته. در واقع اونی که اتمل استدیو یا بهتره بگیم کمپایلر avr-gcc استفاده میکنه تابع نیست؛ ماکرو هستش!
    یک راه جوابگو ولی نچندان دقیق اینه که خودتون یک تابع delay دیگه به این شکل بنویسید:

    void delay_ms(int d)
    {
    if (d < 0)
    return;

    for (; d > 0; --d)
    _delay_ms(1);
    }

  4. #4
    2016/10/17
    12
    1

    پاسخ : مشکل در نحوه ی تاخیر در Atmel Studio با تابع Delay

    پیشنهاد شما جواب نداد

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    دلیل: ادغام دو پست برای جلوگیری از اسپم

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام
    دلیلش اینه که نحوه پیاده*سازی delay توی این دو کمپایلر متفاوته. در واقع اونی که اتمل استدیو یا بهتره بگیم کمپایلر avr-gcc استفاده میکنه تابع نیست؛ ماکرو هستش!
    یک راه جوابگو ولی نچندان دقیق اینه که خودتون یک تابع delay دیگه به این شکل بنویسید:

    void delay_ms(int d)
    {
    if (d < 0)
    return;

    for (; d > 0; --d)
    _delay_ms(1);
    }




    سلام
    کد شما کامپایل میشه ، ولی وقتی به صورت عملی تست میشه جواب نمیده اصلا
  5. #5
    2017/06/13
    1,380
    827

    پاسخ : مشکل در نحوه ی تاخیر در Atmel Studio با تابع Delay

    نقل قول نوشته اصلی توسط علی محمد شریفی

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    پیشنهاد شما جواب نداد

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    دلیل: ادغام دو پست برای جلوگیری از اسپم






    سلام
    کد شما کامپایل میشه ، ولی وقتی به صورت عملی تست میشه جواب نمیده اصلا
    یعنی چی جواب نمیده؟ کد کامل رو بفرستید
  6. #6
    2016/10/17
    12
    1

    پاسخ : مشکل در نحوه ی تاخیر در Atmel Studio با تابع Delay

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    یعنی چی جواب نمیده؟ کد کامل رو بفرستید

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  7. #7
    2017/06/13
    1,380
    827

    پاسخ : مشکل در نحوه ی تاخیر در Atmel Studio با تابع Delay

    نقل قول نوشته اصلی توسط علی محمد شریفی

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    این کد یک اشتباه فاحش داره؛ انتهای حلقه for پین مد نظر 0 میشه ولی بعدش از تاخیر استفاده نشده که این باعث میشه بلافاصله راند بعدی حلقه اجرا بشه و دوباره پین ۱ بشه. نتیجتا روشن و خاموش شدن این پین اصلا به چشم نمیاد! مشکلی هم توی تاخیر وجود نداره.
  8. #8
    2016/10/17
    12
    1

    پاسخ : مشکل در نحوه ی تاخیر در Atmel Studio با تابع Delay

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    این کد یک اشتباه فاحش داره؛ انتهای حلقه for پین مد نظر 0 میشه ولی بعدش از تاخیر استفاده نشده که این باعث میشه بلافاصله راند بعدی حلقه اجرا بشه و دوباره پین ۱ بشه. نتیجتا روشن و خاموش شدن این پین اصلا به چشم نمیاد! مشکلی هم توی تاخیر وجود نداره.
    بله ،ممنون،
    فقط دقتش پایینه، باید چیکار کرد، به نظرتون؟
  9. #9
    2017/06/13
    1,380
    827

    پاسخ : مشکل در نحوه ی تاخیر در Atmel Studio با تابع Delay

    نقل قول نوشته اصلی توسط علی محمد شریفی

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    بله ،ممنون،
    فقط دقتش پایینه، باید چیکار کرد، به نظرتون؟
    به طور کلی دقت این روش تاخیر (منظور استفاده از ماکرو _delay_ms) پایینه چون تاخیر با شمارش و اتلاف سیکل های کاری CPU (با استفاده از اینستراکشن NOP) به وجود میاد. اگر دقت خیلی بالا لازم دارید باید از تایمر استفاده کنید.با همه این اوصاف، اگر تاخیراتون مثلا مضربی از ۱۰ میلی ثانیه باشن، میتونید تابع تاخیری بنویسید که تعداد ۱۰ میلی ثانیه ها رو بگیره و داخل حلقه for از تاخیر ۱۰ میلی ثانیه ای به جای ۱ میلی ثانیه ای استفاده کنه. اینطوری میشه تعداد تکرار حلقه for رو کم کرد که یک مقدار دقت بهتر بشه.
    شاید با چیزایی که گفتم ایده بگیرید و خودتون کارای بهتری بکنید؛ اما بدونید هرچه عملیات های ریاضی، منطقی ، حلقه، شرط و امثال این ها کمتر باشه و بیشتر از ماکرو _delay_ms استفاده کنید، دقت بالاتر میره.
  10. #10
    2022/02/28
    4
    0

    پاسخ : مشکل در نحوه ی تاخیر در Atmel Studio با تابع Delay

    نقل قول نوشته اصلی توسط علی محمد شریفی

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    پیشنهاد شما جواب نداد

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    لطفا همین برنامه رو با مقدار i=0 در ابتدای حلقه for جایگزین کنید. for (i=0;i<=50000;i=i*2)
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 16

موضوعات مشابه

  1. مشکل با تابع delay
    توسط electronet در انجمن XMEGA
    پاسخ: 3
    آخرين نوشته: 2017/09/10, 15:27
  2. مشکل با تابع delay در کدویژن
    توسط AhmadMan در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2017/07/02, 11:55
  3. مشکل در Atmel Studio
    توسط Saeed-Omnia در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2014/05/08, 14:17
  4. استفاده از متغییر برای توابع تاخیر در Atmel Studio
    توسط mjs1990s در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2013/02/03, 11:11
  5. مشکل با نوشتن تابع delay
    توسط mohpooria در انجمن پروسسورهای ARM
    پاسخ: 20
    آخرين نوشته: 2011/02/03, 13:12

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •