1- ممکن هست Stack پر شده باشه . یا تنظیمات مربوط به میزان حافظه Stack رو درست انجام نداده باشی .
2- ممکن هست در داخل روتین یک اینتراپت ... اینتراپت همون اینتراپت رخ داده باشد و میکرو آدرس برگشت رو گم کنه .
3- ممکن هست مدت زمان اجرای روتین هایی که در درون یک وقفه مینویسی بیشتر از تعداد رخداد آن در واحد زمانی باشد و شما اینتراپت ها را غیر فعال نکرده باشین .
4- ممکن هست پوینتر گم کرده باشی . مثلا یه آرایه 100 عنصری داشته باشی ... خونه 500 رو مقدار دهی کرده باشی .
5- ممکن هست میکروت رو در درون یک محیط پر نویز RUN کرده باشی و روی اینتراپت هات خازن نزاشته باشی ...
6- شاید هم میکروت خجالتی باشه یا اینکه بهش برمیخوره یا میخواد برات کلاس بزاره ...
خیلی ممنون دوست عزیز v_ilkhani
دوباره میکرو رو پروگرام کردم این دفعه کریستالش رو عوض کردم و توی برنامه هم کریستال رو تغییر دادم ، درست شد. حالا احتمالا مشکل کجا بوده؟
Project :
Version :
Date : 9/20/2013
Author : PerTic@n
Company : If You Like This Software,Buy It
Comments:
Chip type : ATmega16A
Program type : Application
AVR Core Clock frequency: 2.457600 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
************************************************** ***/
این برنامه یک شمارنده هست که با سون سگمنت کار می کنه و اعداد 0 تا 9 را نشون می ده که اگه اعداد زیر 5 بودند یک ال ای دی روی پورت سی بیت صفر و بالای پنج بیت یک روشن می شه
سلام ...
برای من 1 بار پیش اومده که کریستالم مشگل داشته و با عوض کردن کریستال مشگلم حل شده ... در ضمن از این جور اتفاق ها تو برنامه نویسی زیاد میوفته ... یادمه با 8051 و کامپایلر Franklin که کار میکردم ... هر بار سورسم رو یه جور کامپایل میکرد ...
به قوله معروف باید قلقش دستت بیاد ...
البته یه علت دیگه هم میتونه برای ریست شدن ... یا هنگ کردن میکرو وجود داشته باشه ... کسی اینترپتی رو در Wizard فعال کرده باشه و روتینی که اون رو protect میکنه رو پاک کرده باشه ... در این صورت کامپایلر هیچ ایرادی هم نمیگیره ولی .... میکرو هنگ میکنه ... مشگل شما این موضوع نیست ... ولی گفتم تجربم رو انتقال داده باشم .
دیدگاه