NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4420 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 15 از 15

موضوع: مشکل در متغیرهای عمومی

  1. #1
    مدیر باز نشسته behnam6500 آواتار ها
    تاریخ عضویت
    Jan 2009
    نوشته ها
    801
    تشکر
    311
    تشکر شده 899 بار در 390 پست

    پیش فرض مشکل در متغیرهای عمومی

    بچه ها با یه مشکل مسخره و عجیب برخورد کردم!!!!!!

    توی یه پروژه که با winavr هست، وقتی یه متغیر رو بصورت عمومی تعریف میکنم و مقدار دهی میکنم یا مقدار بصورت پویا میگیره، اون مقداری رو که من نمیخوام نیست!

    یه مقدار الکی میگیره! باید حتما اون بصورت لوکال تعریف شه تا مقدار صحیح بگیره!!!!

    کسی به این موضوع برخورده؟

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام مهندس
    سال نو شما مبارك.
    زماني كه ميخوايم عمليات محاسباتي انجام بدين اينطور ميشه؟
    _____________________________________
    _____________________________________

  4. #3
    مدیر باز نشسته behnam6500 آواتار ها
    تاریخ عضویت
    Jan 2009
    نوشته ها
    801
    تشکر
    311
    تشکر شده 899 بار در 390 پست

    پیش فرض

    سال نو شما هم مبارک...

    نه فقط برای محاسباتی!

    یه Structure دارم که اطلاعاتی رو از فایل میخونم رو توش میریزم، متغیر فایل از نوع FIL که بصورت عمومی هست باعث شده تا داده های بیخودی توی ساختمان قرار بگیره! باید لووکال شه!

    در عمومی به عنوان مثال تعریف میکنم: uint_8 i

    بعد در یه تابع مینویسم i=23

    بعد موقع خواندن مقدار مثلن مینویسه 2547 که باید لوکال تعریف شه تا درست شه!!!!

    واقعن نمیدونم چرا اینطوری شده!!!!!!

  5. #4
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    متغیر سراسری و محلی منظور شما هست؟؟
    متغیر سراسری همواره مقدار قبلی خودش رو نگه میداره. و ممکنه در توابع دیگه مقدارش دستکاری بشه اگه حواسمون نباشه.
    متغیر محلی هم با فراخونی تابع ایجاد میشه و فقط در همون تابع استفاده میشه و با تموم شدن تابع از بین میره.

  6. #5
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    مهندس ممكنه اون پروژه اينجا هم بذاريد يا فقط اون قسمتي(تابعي كه مشكل توش ايجاد ميشه)
    رو اينجا بذاريد.
    راستي از محيط AVRstudio براي برنامه نويسي استفاده ميكنين يا Eclipse يا ... ؟
    ممكنه لازم باشه يه چيزايي رو به پروژه اضافه كنين.
    _____________________________________
    _____________________________________

  7. #6
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    البته متغیر محلی که در تابع main ایجاد میشه هم تا آخر باقی میمونه ولی در توابع دیگه به صورت مستقیم نمیشه استفاده کرد.

    اگه منظور شما عمومی و خصوصی هست که مربوط میشه به محدوده داده در یک کلاس.

  8. #7
    مدیر باز نشسته behnam6500 آواتار ها
    تاریخ عضویت
    Jan 2009
    نوشته ها
    801
    تشکر
    311
    تشکر شده 899 بار در 390 پست

    پیش فرض

    نقل قول نوشته اصلی توسط esisafa نمایش پست ها
    متغیر سراسری و محلی منظور شما هست؟؟
    متغیر سراسری همواره مقدار قبلی خودش رو نگه میداره. و ممکنه در توابع دیگه مقدارش دستکاری بشه اگه حواسمون نباشه.
    متغیر محلی هم با فراخونی تابع ایجاد میشه و فقط در همون تابع استفاده میشه و با تموم شدن تابع از بین میره.
    منم اینارو میدونم رفیق... ولی نمیدونم چرا میرقصونه!

    نمونه برنامه هم توابع خوندن فایل bmp از mmc هست! که در اون پروژه mp3 player هم اورده شده

    همون متغیر fil از نوع FIL

    -----------------

    بحث مربوط به محدوده کلاس و عمومی و محلی و اینارو میدونم!

    الان در این پروژه کل این داستانا به هم ریخته!

    از winavr و notepad اون استفاده میکنم....

  9. #8
    مدیر باز نشسته behnam6500 آواتار ها
    تاریخ عضویت
    Jan 2009
    نوشته ها
    801
    تشکر
    311
    تشکر شده 899 بار در 390 پست

    پیش فرض

    در همون خوندن عکس از مموری، من عمومی ها رو لوکال کردم!!!! همون FIL در تابع bmpFile نمیتونست هدر رو درست بخونه که ایراد از این موضوع بوده!

    ولی این از ریشه مشکل داره و تو کل پروژه خلل وارد کرده!!!!!

  10. #9
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    -ببین شاید یک موقع نام یکی از متغیر هایی که خودت تعریف کردی تداخل داره. البته کامپایلر باید خطا بگیره ولی میگم شاید.
    -یک بار پروژه رو clean کن و به جای build از rebuild استفاده کن تا از بیخ دوباره کامپایل کنه
    -پروژه رو دوباره بساز و متن ها رو کپی کن تو پروژه جدید و کامپایل کن.

    من با codevision زیاد از این مشکلا داشتم که با این کارا حل شده. یک سایز بافر رو تغییر میدادم برنامه قاطی میکرد. باید از اول پروژه رو با سایز جدید بافر میساختم

    در ضمن نوع متغیر ها در winavr معمولا define یا typedef میشن که میرن روی اعصاب من. ببین اصلش از کدوم نوعه

  11. تشکرها از این نوشته :


  12. #10
    مدیر باز نشسته behnam6500 آواتار ها
    تاریخ عضویت
    Jan 2009
    نوشته ها
    801
    تشکر
    311
    تشکر شده 899 بار در 390 پست

    پیش فرض

    در مورد موارد یک و دو که میدونم از اونها نیست!

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

  13. #11
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    از avr studio 5 استفاده کن ببین چه میشه

  14. #12
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط behnam6500 نمایش پست ها
    در مورد موارد یک و دو که میدونم از اونها نیست!

    ولی کم کم دارم به کامپایلره شک میکنم!
    راستي از چه ورژني استفاده ميكني؟ WinAVR2010 ؟
    _____________________________________
    _____________________________________

  15. #13
    مدیر باز نشسته behnam6500 آواتار ها
    تاریخ عضویت
    Jan 2009
    نوشته ها
    801
    تشکر
    311
    تشکر شده 899 بار در 390 پست

    پیش فرض

    از ورژن 2010 استفاده میکنم. مال ماه ژانویه که فکر کنم اخرین نسخه باشه....

  16. #14
    مدیر باز نشسته behnam6500 آواتار ها
    تاریخ عضویت
    Jan 2009
    نوشته ها
    801
    تشکر
    311
    تشکر شده 899 بار در 390 پست

    پیش فرض

    لینک دانلود avr studio 5 رو دارید؟

  17. #15
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    Atmel Studio 6 - ایـــــــــران میـــــــکرو ™

    قسمت دوم لینک مستقیم داده

    البته atmel studio 6 هست
    avr studio 5 + چند پله صعود یعنی cortex-m3
    ویرایش توسط esisafa : 22-03-2012 در ساعت 03:53

  18. تشکرها از این نوشته :


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

  1. فرکانس متغیر با pwm
    توسط raminrayat در انجمن AVR
    پاسخ: 6
    آخرين نوشته: 03-09-2015, 02:48
  2. پاسخ: 13
    آخرين نوشته: 23-09-2014, 14:32
  3. ,وارد کردن متغیر چند کاراکتری
    توسط raoofmtj در انجمن AVR
    پاسخ: 11
    آخرين نوشته: 05-11-2013, 00:11
  4. نامگذاری متغیرها در بسکام
    توسط sobhan537 در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 06-03-2013, 03:06
  5. ساختن متغیر integer از طریق اتصال دو متغیر Byte
    توسط morteza_rk در انجمن برنامه نویسی کامپیوتر/کنترل با کامپیوتر
    پاسخ: 4
    آخرين نوشته: 27-06-2012, 13:31

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

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