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





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









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









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






جهت تبلیغ در وب سایت ECA کلیک کنید.

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

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

موضوع: at 91 sam7x interrupt

  1. #1
    2010/06/01
    24
    1

    at 91 sam7x interrupt

    سلام من میخوام یک برنامه بنویسم که یک متغیر از نوع float یا double رو توی main تغییر بده و هروقت وقفه خارجی رخ داد این متغیر float یا double رو توی روتین وقفه تغییراتی بدم و ارسال کنم ولی انتقال به وقفه صورت نمیگیره
    اگر متغیر از نوع int باشه مشکلی پیش نمیاد ولی اگر متغیر از نوع float یا double باشه برنامه درست کار نمی کنه
    لطفا کمکم کنید
  2. #2
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : at 91 sam7x interrupt

    نقل قول نوشته اصلی توسط imanhelmi
    سلام من میخوام یک برنامه بنویسم که یک متغیر از نوع float یا double رو توی main تغییر بده و هروقت وقفه خارجی رخ داد این متغیر float یا double رو توی روتین وقفه تغییراتی بدم و ارسال کنم ولی انتقال به وقفه صورت نمیگیره
    اگر متغیر از نوع int باشه مشکلی پیش نمیاد ولی اگر متغیر از نوع float یا double باشه برنامه درست کار نمی کنه
    لطفا کمکم کنید
    متغییر رو به صورت Global تعریف کردی یا local؟
    اگه local باشه نبایدم کار کنه ولی اگه global باشه مشکلی نداره و باید کار کنه
    ترجیحا برنامتو بزار تا بررسی کنم
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  3. #3
    2010/06/01
    24
    1

    پاسخ : at 91 sam7x interrupt

    سلام global تعریف شده
    اگر int باشه درست کار میکنه ولی اگر double باشه کار نمی کنه
  4. #4
    2012/12/30
    بوشهر
    3,206
    1,107

    پاسخ : at 91 sam7x interrupt

    Volatile قبل از متغییر بذارید ببینیم درست میشه یا نه.
    اگه نشد خبر بدید.
  5. #5
    2010/06/01
    24
    1

    پاسخ : at 91 sam7x interrupt

    سلام. مرسی راهنماییتون درست بود volatile گذاشتم درست شد :nice:
  6. #6
    2011/11/25
    نايين
    715
    13

    پاسخ : at 91 sam7x interrupt

    اصلا volatile مربوط به تعيين حوزه دسترسي ديتا آبجکت نميشه.

    همون که جناب ايماني فر فرمودند درسته ، در صورتي که ديتاآبجکت به صورت Global اعلان بشه ميشه تو روتين وقفه بهش دسترسي داشت.

    درصورتي يک extern کنارش بزاريد ميتونيد تو روتين وقفه اي که در فايل ديگه ي پروژه قرار دارد هم بهش دسترسي پيدا کنيد.

    البته اگه خيلي نياز داريد که داخل main اعلان بشه . بايد يک اشاره گر global هم اعلان بشه و به اون اشاره داده بشه و از طريق اشاره گر بهش دسترسي پيدا کنيد.


    کلمه ي کليدي volatile جهت توصيه برنامه نويس به کامپايلر براي عدم پتيمايز کردن ديتا آبجکت استفاده ميشه. ولاغير
    راه اندازي ماژول nrf24l01p براي codevision (ارتباط بيسيم بين دو ميکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
    کوچ کردن از کدويژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
    نحوه نوشتن اصولي يک لايبرري و درايور نرم افزاري( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
    http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول هاي مختلف توسط اعضاي انجمن
    انشالله به زودي تاپيک ها به روز رساني خواهد شد،
  7. #7
    2012/12/30
    بوشهر
    3,206
    1,107

    پاسخ : at 91 sam7x interrupt


    اینکه چرا Volatile مشکل ایشون رو حل کرد اینه:


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

    عضویت

  8. #8
    2011/11/25
    نايين
    715
    13

    پاسخ : at 91 sam7x interrupt

    نقل قول نوشته اصلی توسط rozeh

    اينکه چرا Volatile مشکل ايشون رو حل کرد اينه:


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

    عضویت

    خير مشکل ايشون همون طور که از پست اول پيداست ، دسترسي به ديتاآبجکتيه که دسترسيش در روتين وقفه محدوده و نميشه دسترسي پيدا کرد.
    اون پست هم حرفش چيزه ديگه است
    volatile مربوط به بهينه سازي کامپايلر ميشه

    ------------------------------------------------------------------------------
    البته فکر کنم مشکلشون حل شده باشه .
    درهر صورت اگر فکر ميکنيد ، بنده اشتباه ميکنم ، من به شما احترام ميزارم و حرفتون را قبول ميکنم. شما درست ميفرماييد
    راه اندازي ماژول nrf24l01p براي codevision (ارتباط بيسيم بين دو ميکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
    کوچ کردن از کدويژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
    نحوه نوشتن اصولي يک لايبرري و درايور نرم افزاري( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
    http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول هاي مختلف توسط اعضاي انجمن
    انشالله به زودي تاپيک ها به روز رساني خواهد شد،
  9. #9
    2010/02/28
    شاهرود
    1,147
    20

    پاسخ : at 91 sam7x interrupt

    آقایون بحث رو به خاطر منم شده تموم کنید :biggrin:
    با سپاس از همکاری شما :mrgreen:
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!
  10. #10
    2010/06/01
    24
    1

    پاسخ : at 91 sam7x interrupt

    حالا که بحث داغ شد بیشتر توضیح میدم
    این برنامه قراره در داخل main تعداد تعداد زیادی دیتا رو با فرکانس بالا دریافت کنه و همه دیتا ها رو با هم جمع کنه و همچنین تعداد دیتا ها هم باید با هم جمع بشن دیتا های ورودی 32bit هستند پس مجموع دیتاها عدد بزرگی میشه .
    هر وقت وقفه اتفاق بیفتد باید مجموع دیتا و تعداد دیتا در روتین وقفه برهم تقسیم شه که میانگین دیتا بدست بیاد و جواب به بیرون ارسال شه
    حالا اگه این متغیر global و doulbe تعریف بشه تو وقفه هیچ اتفاقی نمی افته و صفر ارسال میشه اگر global و int تعریف بشه درست کار میکنه ولی نمیتونه کل اعداد رو جمع کنه و اشباع میشه
    ولی اگر یک متغیر volatile double تعریف کنم همه چیز درست کار میکنه!
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 16

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

  1. کمک در مورد CANBUS SAM7x
    توسط S.R.F در انجمن ATMEL
    پاسخ: 0
    آخرين نوشته: 2014/10/26, 19:57
  2. PROFIBUS & PROFINET International -sam7x
    توسط S.R.F در انجمن ATMEL
    پاسخ: 1
    آخرين نوشته: 2014/08/30, 23:31
  3. تفاوت sam7x با sam7s
    توسط hayahu در انجمن ATMEL
    پاسخ: 4
    آخرين نوشته: 2014/01/31, 11:19
  4. کار با تایمر SAM7X
    توسط rezaf در انجمن ATMEL
    پاسخ: 69
    آخرين نوشته: 2013/11/07, 06:55
  5. ارتتباظ sam7x با max232
    توسط gbg در انجمن ATMEL
    پاسخ: 4
    آخرين نوشته: 2013/09/28, 00:38

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

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

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

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

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