اطلاعیه

Collapse
No announcement yet.

یه سوال درباره watch dog ؟

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

    #46
    پاسخ : یه سوال درباره watch dog ؟

    :cry2:
    ذكات علم ياد دادنه ....

    دیدگاه


      #47
      پاسخ : یه سوال درباره watch dog ؟

      با سلام به همه دوستان

      میخواستم بدونم روشی برای تشخیص اینکه بدونیم میکرو از چه روشی ریست شده هست یا نه؟؟؟

      من تو یه برنامه از تایمر watch dog استفاده کردم و زمانی که میکروی مستر موفق به برقراری ارتباط با اسلیو ها نمیشه میکرو ریست میشه و از اول برنامه شروع به اجرا میکنه

      حالا میخواستم بدونم میشه ریست watchdog رو از دیگر ریست ها خصوصا Power on Reset تشخیص داد؟؟؟

      تو توضیحات MCUCSR (MCU Control and status Register) در مورد بیت سومش که WDRF است نوشته:

      Watchdog Reset Felag : در صورتی که ریست توسط Watchdog انجام گرفته باشد این بیت یک میشود.

      من هم از همین بیت تو شرط هام استفاده کردم ولی جواب نداد و زمان Power on Reset هم شرط رو صحیح میدونه

      مگه بعد از ریست شدن این بیت یک نمیشه؟؟؟

      چه باید بکنم؟؟؟

      دیدگاه


        #48
        پاسخ : یه سوال درباره watch dog ؟

        یعنی حتی یک نفر هم نبود که این مطلب رو بخونه و نظری بده؟؟؟

        آیا کسی با بیت های رجیستر MCUCSR کار کرده؟؟؟

        دیدگاه


          #49
          پاسخ : یه سوال درباره watch dog ؟

          سلام
          من کار کردم
          میشه این قسمت برنامه را بزارید؟
          فرزندم در راه است

          دیدگاه


            #50
            پاسخ : یه سوال درباره watch dog ؟

            آقا من میخواستم بدونم میشه ریست watchdog رو از دیگر ریست ها خصوصا Power on Reset تشخیص داد؟؟؟

            یعنی وقتی watchdog میکرو رو ریست میکنه بشه تشخیص داد با یه شرط در اول برنامه که سگ نگهبان اون رو ریست کرده؟؟؟

            توضیحات MCUCSR رو بخونید
            من امتحان کردم جواب نداد.
            یعنی وقتی میکرو رو روشن هم میکنم باز هم فکر میکنه watchdog اون رو ریست کرده

            باقی جاها مشکل ندارم

            دیدگاه


              #51
              پاسخ : یه سوال درباره watch dog ؟

              این برنامه تو پروتئوس کامل جواب میده شما تو عمل تست کن ببین چی میشه
              کد:
               #asm("wdr");
              #include <mega32.h>
              #include <delay.h>
              void main ()
                  {  
                  char i;
                  DDRA=255;
                  i=MCUCSR; 
                  PORTA=i; 
                  WDTCR=0b00001101;
                  delay_ms(3000);
                  WDTCR|=0b00010000;
                  WDTCR=0b00000111;
                  while(1)PORTA=i;  
                  }
              فرزندم در راه است

              دیدگاه

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