سلام خدمت دوستان.
ما کنکورو دادیم و اومدیم سراغ الکترونیک.

یه برنامه در کد ویژن برای مگا 32 نوشتم برای تولید موج مربعی در پورت OC0 که با لبه بالا رونده در TO کانتر تایمر مقدارش زیاد میشه . ولی در پروتئوس خطای زیر رو میده:
Invalid Opcode 0xFFFF at PC=OX7002
در ضمن پروژه رو هم گذاشتم. ببینید واسه شما هم ارور میده؟علت خطای برنامه نویسیه؟حجم استک هست؟ خب تو کد ویژن باید چه کرد؟
کلا کدویژن فایل استاندارد برای شبیه سازی تولید نمی کنه تا جایی که من یادم هست چند جا فایل خروجی رو درست میکنه
(مثلا کنار کد خودتون) همچنین در فولدر های دیباگ و غیره یکی یکی اونها رو آزمایش کنید یکش کار می کنه مشکل از برنامه نیست
(۰۹-تير-۱۳۹۲, ۲۱:۵۱:۱۹)behzady نوشته است: [ -> ]کلا کدویژن فایل استاندارد برای شبیه سازی تولید نمی کنه تا جایی که من یادم هست چند جا فایل خروجی رو درست میکنه
(مثلا کنار کد خودتون) همچنین در فولدر های دیباگ و غیره یکی یکی اونها رو آزمایش کنید یکش کار می کنه مشکل از برنامه نیست
کجا آزمایش کنم؟پروتئوس فقط فایل هکس می خواد.
من یه mega32 دیگه گذاشتم فرکانسش رو رو 8 مگ گذاشتم و از فایل project.conf رو تو پروتئوس اظافه کردم درست شد
![[تصویر: 81350794433847703204_thumb.png]](http://upload7.ir/images/81350794433847703204_thumb.png)
چطوری میشه فایل با پسوند CONF تولید کرد؟ می تونید پروژه رو درست کنید و برام بذارید؟ آخه سه روزه دارم روش کار می کنم . ولی نمیشه .در ضمن چطور تو پروتئوس پنجره AVR source Code را باز کردید؟
حالا جالبه بدونید این پروژه رو به طور عملی هم با میکرو انجام دادم ولی پین OC0 هیچ وقت های نشد.آخه مشکل از کجاست؟
با code vision وقتی کامپایل میکنید فایل conf تولید میشه که تنها فرقش با فایل هگز اینه که میشه باهاش دیباگ کرد ...
نمیدونم چطور شده ولی اون مگا 32 شما باید پاک کنید و مجدد یه مگا دیگه جاش بذازید منم این کار رو کردم که موفق نشدید پ خ بدید براتون ارسال کنم.
دوستان خیلی ممنونم از همراهیتون.

بالاخره فهمیدم مشکل چیه

. مشکل در کامپایل کردن برنامه در کد ویژن رخ میده.
فکر کنم این کد ویژنی که من دارم یه خورده قات داره(ورژن 2.05.3) .
وقتی که در کد برنامه شما مثلا فایل مگا 32 را اینکلود می کنید و در قسمت configure project>c compiler>code generation هم میکروی مگا 32 را انتخاب می کنید ممکن است این مشکل رخ دهد.یعنی فقط کافیست فایل مگا 32 را اینکلود کنید و نیازی به انتخاب نوع میکرو در قسمت code generation نیست.همچنین دقت کنید که در قسمت run the chip programmer هم نوع میکرو را تغییر ندهید و بذارید به حال خودش (که به طور پیش فرض attiny13 است ) بمونه.
اگر باز هم این ارور در شبیه سازی اومد ، شما باید متن کد در پروژه را کپی کنید و در یک پروژه سالم دیگر که مثلا از اینترنت گرفته اید paste کنید .و برنامه را کامپایل کنید و فایل hex را تولید کنید.حتما مشکل حل میشه.
با تشکر.
هیچکدوم از کدویژنا مثل 1.25.8 نشد همشون باگ زیاد دارن