اطلاعیه

Collapse
No announcement yet.

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

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

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

    نوشته اصلی توسط محمد مینائیان
    منظورم از کم شدن ولتاژ اینه که میکرو اگه از یک ولتاژی مثلا 2.5 کم بشه وبهد به همان واتاژ اولیه بر گردد میکرو هنگ میکنه که توسط watchdog این مشکل را حل میکنند
    ok
    سلام
    میشه بگید که در برنامه از کجا تشخیص بدیم که میکرو بر اثر کم شدن ولتاژ هنگ کرده و باید ریست بشه؟
    صدایی از قلب آذربایجان

    Ya$a odlar yurdum AZERBAICANIM

    دیدگاه


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

      میشه بگید که در برنامه از کجا تشخیص بدیم که میکرو بر اثر کم شدن ولتاژ هنگ کرده و باید ریست بشه؟
      این قصه سر دراز دارد .مشکل شد دوتا :mrgreen:
      مثل اینکه کلا تایمر watch dog رو فراموش کردین اصل قضیه اینکه نیازی نیست که ما بفهمیم میکرو هنگ کرده . هر موقه میکرو هنگ کنه در واقع برنامه
      یه جایی قفل کرده مثلا تو یه حلقه for در کل یعنی برنامه ادامه پیدا نمیکنه .
      خوب حالا چی میشه تایمر watch dog که کلاکشو از منبع تغذیه میگیره کاری به برنامه نداره اون سر یه زمانه خاصی (که اونم دست کاربره) میکرو رو ریست میکنه مثلا 1 ثانیه .
      حالا لابد میگین اینجوری که دائم میکرو ریست میشه . که اینجا باید کاربر قبل از اینکه تایمر watch dog برسه به 1 ثانیه اونو ریشت کنه تا دوبره از نوع شروع به شمارش کنه به همین راحتی

      ولی مشکل اینجاست که هنوز موفق نشدم راهش بندازم دوستان اگه یه برنامه C دارن با تایمر watch dog لطف کنند... :redface:
      ذكات علم ياد دادنه ....

      دیدگاه


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

        سلام دوستان من توی یک برنامه این دستور رو نوشتم
        start watchdog
        وتوی پرتیوس شبیه سازی کردم هنوز برنامه اجرا نمیشد میکرو را ریست میکرد
        بعد رفتم این دستور رو اضافه کردم
        config watchdog=1024
        اما اینبار برنامه دیگه ریست نمیشد چند دقیقیای صبر کردم اما بازم خبری نشد مقدار time رو16 کردم بازم میکرو ریست نشد که نشد
        بچه ها بنظر شما مشکل از کجاست :cry2: :cry2:


        دیدگاه


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

          :cry2: :cry2:
          help me
          :cry2: :cry2:

          دیدگاه


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

            اول config watchdog =2048 را بنویس

            بعد start watchdog

            برنامه من رو اجرا کردی ؟

            دیدگاه


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

              نوشته اصلی توسط mehrdadgh

              سلام
              میشه بگید که در برنامه از کجا تشخیص بدیم که میکرو بر اثر کم شدن ولتاژ هنگ کرده و باید ریست بشه؟
              ببینید:
              ما 2نوع ریست داریم یکی دستی که خودمان توسط پایه ریست انجام میدهیم
              ودیگری اینکه با تغییر ولتاژ منبع که کم شود ومیکرو نمیتواند کار کند و میکرو هنگ میکند و برای این کار از وضعیتی به نام Brown out detection یک مدار تشخیص افت ولتاژ استفاده میشود.
              یا توسط watchdog timer است.
              مدار Brown out detection: توسط یک فیوز بیتی به نام BODLEVEL که باید برنامه ریزی شود. ولتاژی که مقایسه میشود 4V از 2.7V کمتر نشود
              فیوز مربوط BODEN

              دیدگاه


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

                سلام به همه بچه ها
                اقا مجید منم همین کار رو کردم
                Config Watchdog = 16
                Start Watchdog
                اما جواب نداد ناگفته نماند که من از adc تو برنامم استفاده میکنم می تونه دلیله کار نکردنش این باشه
                :sad: :sad:





                دیدگاه


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

                  نوشته اصلی توسط asmasm
                  سلام به همه بچه ها
                  اقا مجید منم همین کار رو کردم
                  Config Watchdog = 16
                  Start Watchdog
                  اما جواب نداد ناگفته نماند که من از adc تو برنامم استفاده میکنم می تونه دلیله کار نکردنش این باشه
                  :sad: :sad:
                  دوست عزیز

                  چرا Config Watchdog = 16

                  یعنی هر 16 میلی ثانیه ؟

                  با این حساب شما باید زودتر از فواصل 16 میلی ثانیه از دستور Reset Watchdog استفاده کنید .

                  راستی بد نبود اون قسمت برنامه تونو میزاشتید جون برنامه من در سیمولاتور باسکام به راحتی جواب می ده .

                  در مورد سوال بعدی ، تا اونجایی که من می دونم ، Watchdog هیچ ربطی به ADC نداره.

                  موفق باشید

                  دیدگاه


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

                    نوشته اصلی توسط مجید نصراله زاده


                    دوست عزیز

                    چرا Config Watchdog = 16

                    یعنی هر 16 میلی ثانیه ؟

                    با این حساب شما باید زودتر از فواصل 16 میلی ثانیه از دستور Reset Watchdog استفاده کنید .

                    راستی بد نبود اون قسمت برنامه تونو میزاشتید جون برنامه من در سیمولاتور باسکام به راحتی جواب می ده .

                    در مورد سوال بعدی ، تا اونجایی که من می دونم ، Watchdog هیچ ربطی به ADC نداره.

                    موفق باشید


                    وقتی فقط start watchdog رو تو برنامه مینویسی وتو پروتیوس شبیهسازی میکنی پیغام میده که میکرو داره ریست میشه ورو ال سی دی هیچی نشون نمیده

                    اما وقتی اینجوری مینویسی مثلا

                    CONFIG WATCHDOG=512
                    start watchdog

                    دیگه میکرو ریست نمیشه با time
                    16 , 32, 64 , 128 , 256 , 512 , 1024 2048.


                    دیدگاه


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


                      '''''''&#039 ; configration''''''&# 039;'''
                      $regfile = "m32def.dat"
                      $crystal = 8000000
                      Config Lcd = 20 * 4
                      Config Lcdpin = Pin , Rs = Portb.1 , E = Portb.3 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = _
                      Portb.6 , Db7 = Portb.7
                      Dim W As Word , Ch As Byte , X As Byte , Y As Byte , T As Byte_
                      , Sign As Bit , Intrupt As Bit , T1 As Word , T2 As Word , T3 As Word , T4 As Word

                      Config Watchdog = 16
                      Start Watchdog

                      X = 1
                      Y = 1
                      Ch = 1
                      T1 = 0
                      T2 = 0
                      T3 = 0
                      T4 = 0

                      Intrupt = 0


                      '''' Interrupts '''''''&#039 ;
                      Enable Adc
                      Enable Interrupts
                      Enable Int0
                      Enable Int1
                      Enable Int2
                      On Int2 Sign 'Ehsan
                      On Int1 Exittemp
                      On Int0 Settemp


                      ''''' Config Adc ''''''''&# 039;
                      Config Adc = Free , Prescaler = Auto
                      Config Portd = Input
                      Config Portc = Output


                      و...
                      .....
                      ......
                      .....

                      دیدگاه


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

                        در پروتئوس من هم جواب نگرفته ام ولی در سیمولاتور باسکام جواب می ده

                        دیدگاه


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

                          سلام اقا مجید
                          منظورتان اینه که مشکل از پرتیوس است؟؟؟؟/
                          ایا تو عمل جواب میده
                          واگه جواب میده چه جوری میتوان فهمید که watchdog داره کار میکنه

                          دیدگاه


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

                            واگه جواب میده چه جوری میتوان فهمید که watchdog داره کار میکنه
                            باید یه جوری میکرو رو هنگ کنی :mrgreen:
                            راستش من برای این کار برق میکرو رو قطع و وصل میکردم که رو LCD نشون میداد اگه هنگ میکرد LCD بهم میریخت واگه درست میشد معلوم بود watch dog داره کار میکنه برای من که یه مدت جواب داد بعد دیگه دوباره هنگ میکرد
                            اخرش نفهمیدم چطور با تایمر watch dog کار کنم

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

                            دیدگاه


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

                              نوشته اصلی توسط majid.4206
                              واگه جواب میده چه جوری میتوان فهمید که watchdog داره کار میکنه
                              باید یه جوری میکرو رو هنگ کنی :mrgreen:
                              راستش من برای این کار برق میکرو رو قطع و وصل میکردم که رو LCD نشون میداد اگه هنگ میکرد LCD بهم میریخت واگه درست میشد معلوم بود watch dog داره کار میکنه برای من که یه مدت جواب داد بعد دیگه دوباره هنگ میکرد
                              اخرش نفهمیدم چطور با تایمر watch dog کار کنم


                              سلام دوست عزیز چجوری برق میکرو را قطع میکردی
                              منظورت که دستی نبود :surprised: :surprised: :surprised: :surprised:
                              میشه یکم بیشتر توضیح بدی
                              مرسی

                              دیدگاه


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

                                به نظر من مشکل از پروتئوس است

                                در عمل خیلی ساده میتونید تست کنید .

                                برنامه قبلی را طوری تغییر دهید که مثلا بعد از 5 ثانیه یک پین را روشن و خاموش کند.

                                حالا Reset Watchdog را حذف کنید . در این حالت میکرو قبل از اینکه 5 ثانیه بگذرد توسط watchdog ریست می شود.

                                با قرار دادن Reset Watchdog ، برنامه باید بطور عادی کار کند.

                                دیدگاه

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