اطلاعیه

Collapse
No announcement yet.

watchdog در codevision

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    watchdog در codevision

    دوستان عزیز سلام خسته نباشید راستش مدتهاست با codevision برنامه می نویسم اما هرگز نتونستم از watchdog درست و حسابی استفاده کنم یا هر وقت ازش استفاده می کنم میکروم سریع ریست میشه یا اینکه اگرم استفاده نکنم میکروم بعد از چند ساعت کار مداوم هنگ میکنه آیا دستور #asm ("wdr" فقط باید توی حلقه های while(1) استفاده بشه ؟ یا اینکه نه روال خاص دیگه ای داره من از mega 16 , 32 بیشتر استفاده میکنم که watchdog سخت افزاری ندارن و باید نرم افزاری تو برنامه فعالشون کرد لطفا راهنمایی کنید دوستان بد جوری گیر افتادم تو این موضوع
    سه کس را شنیدم که غیبت رواست وز این درگذشتی چهارم خطاست
    یکی پادشاهی ملامت پسند کز او بر دل خلق بینی گزند
    حلال است از او نقل کردن خبر مگر خلق باشند از او بر حذر
    دوم پرده بر بی حیائی متن که خود میآ‌درد پرده بر خویشتن
    ز حوضش مدار ای برادر نگاه که او میآ‌درافتد به گردن به چاه
    سوم کژ ترازوی ناراست خوی ز فعل بدش هرچه دانی بگوی

    #2
    پاسخ : watchdog در codevision

    سلام
    منم چند وقت درگیر این watch dog بودم ولی به نتیجه درستو حسابی نرسیدم امیدوارم تو این تایپیک دوستان کمک کنند تا همه استفاده کنند
    یه pdf یکی از دوستان گذاشته بود میزارم شاید کمکتون کنه
    http://www.up.ma/images/10zxf5dsrpe8uhix0jfe.rar

    هر وقت ازش استفاده می کنم میکروم سریع ریست میشه یا اینکه اگرم استفاده نکنم میکروم بعد از چند ساعت کار مداوم هنگ میکنه آیا دستور #asm ("wdr" فقط باید توی حلقه های while(1) استفاده بشه ؟ یا اینکه نه روال خاص دیگه ای داره
    اینکه فرمودین میکرو ریست میشه مربوط به تنظیمات تقسیم کلاک watch dog میشه که مدت زمانه Reset تایمرو کمو زیاد میکنه که بسته به مدت زمانه برنامه داره ...
    مثلا اگه کلاک watch dog باشه 512Khz تایمر watch dog بعد از مدت 0.55 ثانیه میکرو رو ریست میکنه حالا شما باید تو برنامه جلوی ریست شدن اونو بگیری با همین دستوری که فرمودین # asm ("wdr&quot ...این تا زمانی ادامه داره که میکرو هنگ نکرده باشه همینکه میکرو هنگ کنه دیگه نمیتونه دستور ریست شدن تایمر watch dog رو اجرا کنه در نتیجه باعث ریست شدن میکرو میشه و برنامه از نو شرو ع میشه ...
    اگه به نتیجه ایی رسیدی خبرم کن :redface:
    یا علی...
    ذکات علم یاد دادنه ....

    دیدگاه


      #3
      پاسخ : watchdog در codevision

      آقایون و خانومای محترم جون عزیزتون یه کمکی بکنید من بد جوری با این تایمر نگهبان گرفتار شدم یکی کمک کنه و بگه تو codevision روش درست استفاده از اون چیه؟
      سه کس را شنیدم که غیبت رواست وز این درگذشتی چهارم خطاست
      یکی پادشاهی ملامت پسند کز او بر دل خلق بینی گزند
      حلال است از او نقل کردن خبر مگر خلق باشند از او بر حذر
      دوم پرده بر بی حیائی متن که خود میآ‌درد پرده بر خویشتن
      ز حوضش مدار ای برادر نگاه که او میآ‌درافتد به گردن به چاه
      سوم کژ ترازوی ناراست خوی ز فعل بدش هرچه دانی بگوی

      دیدگاه


        #4
        پاسخ : watchdog در codevision

        سلام
        شما باید فقط رجیستر WDTCRرا مقدار دهی کنی


        یعنی اول روشنش کنی (WDE=1) و بعد زمان را انتخاب کنی (WDP2,1,0) و دیگه تمام مثلا واسه 2 ثانیه WDTCR=0b00001111
        فرزندم در راه است

        دیدگاه


          #5
          پاسخ : watchdog در codevision

          سلام دوستان من با یکی از دوستان صحبت می کردم نظرش این بود که اصلا تو برنامه های معمولی که هر چند وقت یک بار ریست شدن سیستم هم تاثیر چندانی نداره اصلا واچداگ رو فعال نکنیم بهتره اما اون دوست من می گفت اصلا اگه نویز رو سیستم بیاد هیچ کاری از واچداگ ساخته نیست و فقط میکرو ممکنه به خاطر نویز ریست بشه واچداگ فقط زمانی کمک میکنه که میکرو ساختار داخلیش ارور داشته باشه نظر شما چیه؟
          :eek:
          سه کس را شنیدم که غیبت رواست وز این درگذشتی چهارم خطاست
          یکی پادشاهی ملامت پسند کز او بر دل خلق بینی گزند
          حلال است از او نقل کردن خبر مگر خلق باشند از او بر حذر
          دوم پرده بر بی حیائی متن که خود میآ‌درد پرده بر خویشتن
          ز حوضش مدار ای برادر نگاه که او میآ‌درافتد به گردن به چاه
          سوم کژ ترازوی ناراست خوی ز فعل بدش هرچه دانی بگوی

          دیدگاه

          لطفا صبر کنید...
          X