moein_13 528 اشتراک گذاری ارسال شده در 1 مرداد، ۱۳۸۹ عضی مواقع پیش میاد که در برنامه نویسی هاتون با این که دستور کاملا درست هست و در برنامه های دیگر بدون خطا کامپایل میشه و جواب میده در یک برنامه جدید در موقع کامپایل کردن مدام کامپایلر از شما خطا میگیره یکی ازاین خطا ها، خطای شماره ۲۲۰ است و نام ان Forward jump out of range میباشد برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام دریکی از پروژه های که برادرم داشت چند روز پیش روی آن کار میکرد وقتی دستورات مربوط به خواندن اطلاعات از کارت mmc را مینوشت با این که همین دستورات را قبلا استفاده کرده بود و مشکلی نداشت اما به محض اضافه کردن در این پروژه کامپایلر موقع کامپایل کردن برنامه ارور ۲۲۰ را میگرفت.آیسی که در برنامه تعریف شده بود atmega128 بود و حجم برنامه حدود ۵۰ درصد ای سی بود البته تا به الان شده بود و حجم برنامه رو به افزایش بود اما به محض اضافه کردن دستورات مربوط به کارت mmc در برنامه خطای Forward jump out of range را داشتیم با این حال که همین دستورا ت در یک برنامه ساده بدون خطا کامپایل میشد و در عمل هم جواب میداد. به هر حال با جستجو در اینترنت مشکل را متوجه شدیم که درادامه برای شما شرح خواهیم داد. برای رفع این مشکل باید یک تغییر کوچک و جزئی در فایل مربوط به ای سی که در برنامه استفاده میکنید انجام بشه خوب چون در پروژه ما از آی سی atmega128 استفاده کردیم این تغییر را در فایل m128def.dat دادیم ،در ابتدا باید این فایل را ویرایش کرد میتونید این کار را با notepad خود ویندوز انجام بدین اما پیشنهاد من++ notepad هست. حالا ، وقتی فایل رابرای ویرایش باز کردین باید دنبال عبارت WRAP بگرین مقدار آن را از WRAP=0 به WRAP=1 تغییر بدین با این کار دیگه خطای ۲۲۰ را نخواهید داشت. تذکر: با تغییر مقدار WRAP از ۰ به ۱مشکل ما حل شده و دیگه کامپایلر از ما خطا نگرفت و پروژه ما هم در عمل به خوبی جواب داد اما از بابت این که این تغییر ممکن است در پروژه های دیگر مشکل بوجود بیارد اطمینان ندارم پس از فایل اصلی m128def.dat یک کپی داشته باشین تا در مواقع مورد نیاز بتوانید از ان استفاده کنید 1 لینک به دیدگاه
ارسال های توصیه شده