اطلاعیه

Collapse
No announcement yet.

سوال از تابع Reset در تایمر واچ داگ؟

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

    سوال از تابع Reset در تایمر واچ داگ؟

    سلام خدمت دوستان گل
    دیتاشیت مگا 16 رو میخوندم ، قسمت تایمر نگهبان، که حدودا 3 صفحه بود ولی تو این 3 صفحه حرفی از ریست کردن WDT نزد، ولی تو کدی که ته اون قسمت مربوطه گزاشته اومده از یه تابع استفاده کرده برا بریست کردن WDT.......این ریست کردن داستانش چیه ؟ و چطور انجام میشه؟ و این کدهای نمونه دیتاشیت مگا16 برا اتمله دیگه؟

    طبق کد های زیر مثل این که تابع _WDR() برا ریست کردن تایمر نگهبان هستش.

    [code=c]void WDT_off(void)
    {
    /* Reset WDT*/
    _WDR();
    /* Write logical one to WDTOE and WDE */
    WDTCR |= (1<<WDTOE) | (1<<WDE);
    /* Turn off WDT */
    WDTCR = 0x00;
    }[/code]
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    #2
    پاسخ : سوال از تابع Reset در تایمر واچ داگ؟

    تو AVR این کار با دستور سمبلی wdr انجام میشه. تو آرم هم به یک رجیستر مقدار میدی.
    ---------
    .
    .
    ...........

    دیدگاه


      #3
      پاسخ : سوال از تابع Reset در تایمر واچ داگ؟

      نوشته اصلی توسط Des_B
      تو AVR این کار با دستور سمبلی wdr انجام میشه. تو آرم هم به یک رجیستر مقدار میدی.
      ممنون داش
      این ها از کجا میشه فهمید...همینی که گفتی رو میگم...تو دیتاشیت نوشته تو چی نوشته؟
      البته به کمک ریجستر mcucsr (فک کنم همین بود) هم میشه ریست کرد واچ داگ رو
      اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

      اگه دوس دارید سریع به جواب برسید :
      1) قبل از پرسیدن سوال، بسرچید.
      2) سوالاتون رو با جزئیات کامل مطرح کنید.

      دیدگاه


        #4
        پاسخ : سوال از تابع Reset در تایمر واچ داگ؟

        نوشته اصلی توسط md3848
        ممنون داش
        این ها از کجا میشه فهمید...همینی که گفتی رو میگم...تو دیتاشیت نوشته تو چی نوشته؟
        البته به کمک ریجستر mcucsr (فک کنم همین بود) هم میشه ریست کرد واچ داگ رو
        توی دیتاشیت نوشته، برید به قسمت انتهای دیتا شیت مثلا Atmega32 قسمت مربوط به instruction set summary که دستورات اسمبلی رو نوشته.
        ---------
        .
        .
        ...........

        دیدگاه


          #5
          پاسخ : سوال از تابع Reset در تایمر واچ داگ؟

          سلامی دوباره
          این تابع زیر اشتباهه؟ چرا تایمر واچ داگ رو خاموش نمیکنه؟
          [code=c]void WDT_Turn_off(void)
          {
          //Reset WDT
          #asm("wdr&quot
          //Write logical one to WDTOE and WDE
          WDTCR |= (1<<WDTOE) | (1<<WDE);
          //Turn off WDT
          WDTCR |= (0<<WDE);
          }
          [/code]
          اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

          اگه دوس دارید سریع به جواب برسید :
          1) قبل از پرسیدن سوال، بسرچید.
          2) سوالاتون رو با جزئیات کامل مطرح کنید.

          دیدگاه


            #6
            پاسخ : سوال از تابع Reset در تایمر واچ داگ؟

            سلام بجای
            [code=c]WDTCR |= (0<<WDE); [/code]
            کد زیر رو قرار بدید
            WDTCR &= ~(1<<WDE);[code=c][/code]
            [img width=281 height=100]http://cdn.persiangig.com/preview/acPBCNLNNr/images.jpg[/img]

            دیدگاه


              #7
              پاسخ : سوال از تابع Reset در تایمر واچ داگ؟

              ممنون از شما...فرجی نشد....

              خب فهمیدم مشکل از کجاس
              در مرحله آخر تابع RESET باید علاوه بر 0 کردن بیت WDE باید بیت های دیگه رو هم صفر کرد
              که در این حالت پروژه درست کار میکنه
              ولی چرا؟
              آخه اگه بیت های تقسیم فرکانسی هر 3 رو صفر کنیم فقط زمان واچ داگ کم میشه و بیت WDTOE هم تو دیتاشیت نگفته که باید خاموشش کنی فقط گفته WDE رو صفر کن


              : To disable an enabled Watchdog Timer, the following procedure must be followed

              1) In the same operation, write a logic one to WDTOE and WDE. A logic one must be written
              to WDE even though it is set to one before the disable operation starts.
              2) Within the next four clock cycles, write a logic 0 to WDE. This disables the Watchdog.
              اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

              اگه دوس دارید سریع به جواب برسید :
              1) قبل از پرسیدن سوال، بسرچید.
              2) سوالاتون رو با جزئیات کامل مطرح کنید.

              دیدگاه

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