اطلاعیه

Collapse
No announcement yet.

سوال در مورد واچ داگ

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

    سوال در مورد واچ داگ

    سلام خدمت اساتید
    میخاستم بدونم واچ داگو همین که توی AVRWizard تیکشو بزنی فعال میشه دیگه کاری نباید انجام داد ؟
    سوال مهمتر اینکه اطلاعاتی که میخام بعد از هنگ کردن و ریست شدن توسط واچ داگگ از بین نر ه رو رو کدوم حافظه ذخیره کنم eeprom یا ....
    بسیار بسیار ممنون
    بعد از فعالسازی تیک واچ داگ هم این چند خط کد به کدها اضافه میشه حله دیگه ؟ :

    // Watchdog Timer initialization
    // Watchdog Timer Prescaler: OSC/16k
    #pragma optsize-
    WDTCR=(1<<WDCE) | (1<<WDE) | (0<<WDP2) | (0<<WDP1) | (0<<WDP0);
    WDTCR=(0<<WDCE) | (1<<WDE) | (0<<WDP2) | (0<<WDP1) | (0<<WDP0);
    #ifdef _OPTIMIZE_SIZE_
    #pragma optsize+
    #endif
    // Global enable interrupts
    #asm("sei")
    جدیدترین ویرایش توسط Reza Azimy_RW; ۰۱:۴۳ ۱۳۹۸/۰۹/۲۵.

    #2
    پاسخ : سوال در مورد واچ داگ

    نوشته اصلی توسط Reza Azimy_RW نمایش پست ها
    سلام خدمت اساتید
    میخاستم بدونم واچ داگو همین که توی AVRWizard تیکشو بزنی فعال میشه دیگه کاری نباید انجام داد ؟
    سوال مهمتر اینکه اطلاعاتی که میخام بعد از هنگ کردن و ریست شدن توسط واچ داگگ از بین نر ه رو رو کدوم حافظه ذخیره کنم eeprom یا ....
    بسیار بسیار ممنون
    بعد از فعالسازی تیک واچ داگ هم این چند خط کد به کدها اضافه میشه حله دیگه ؟ :

    // Watchdog Timer initialization
    // Watchdog Timer Prescaler: OSC/16k
    #pragma optsize-
    WDTCR=(1<<WDCE) | (1<<WDE) | (0<<WDP2) | (0<<WDP1) | (0<<WDP0);
    WDTCR=(0<<WDCE) | (1<<WDE) | (0<<WDP2) | (0<<WDP1) | (0<<WDP0);
    #ifdef _OPTIMIZE_SIZE_
    #pragma optsize+
    #endif
    // Global enable interrupts
    #asm("sei")
    باید هربار تو main واچداگو ریست کنی
    با دستور :
    کد:
    #asm("wdr");
    میتونی واچداگو ریست کنی.
    اطلاعات ram بعد از ریست توسط واچداگ پاک نمیشه . ولی اگر دوست داری جایی ذخیره بشه که با قطع برق هم پاک نشه ،داخل eeprom ذخیره کن.
    الهم صل علی محمد و آل محمد و عجل فرجهم
    www.adaksell.com

    دیدگاه


      #3
      پاسخ : سوال در مورد واچ داگ

      سلام چطوری میشه دستی غیر فعال کنی و هرجا از برنامه خواستی دوباره فعالش کنی؟
      ممنون از دوستان

      دیدگاه


        #4
        پاسخ : سوال در مورد واچ داگ

        نوشته اصلی توسط sirshp نمایش پست ها
        سلام چطوری میشه دستی غیر فعال کنی و هرجا از برنامه خواستی دوباره فعالش کنی؟
        ممنون از دوستان
        برای غیر فعال کردن اول دستور
        کد:
        [COLOR=#000000][FONT=Consolas]WDTCR=(1<<WDCE) | (1<<WDE) | (0<<WDP2) | (0<<WDP1) | (0<<WDP0);[/FONT][/COLOR]
        رو بنویس
        بعد دستور
        کد:
        WDTCR=0X00
        برای فعال کردن هم دستورات زیر:
        کد:
        [COLOR=#000000][FONT=Consolas]WDTCR=(1<<WDCE) | (1<<WDE) | (0<<WDP2) | (0<<WDP1) | (0<<WDP0);
        [/FONT][/COLOR][COLOR=#000000][FONT=Consolas]WDTCR=(0<<WDCE) | (1<<WDE) | (0<<WDP2) | (0<<WDP1) | (0<<WDP0);[/FONT][/COLOR]
        الهم صل علی محمد و آل محمد و عجل فرجهم
        www.adaksell.com

        دیدگاه


          #5
          پاسخ : سوال در مورد واچ داگ

          حذف شود ...................
          جدیدترین ویرایش توسط Reza Azimy_RW; ۲۳:۳۵ ۱۳۹۸/۱۰/۰۱.

          دیدگاه

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