اطلاعیه

Collapse
No announcement yet.

جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

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

    #31
    پاسخ : پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفا

    نوشته اصلی توسط student-p
    واچ داگ که جا و مکان نمیشناسه؛در حقیقت با ی دستور استارت شده و اگه قبل از سرریز شدنش ریستش نکنی میکرو رو ریست میکنه!
    من متوجه نشدم. دو پهلو صحبت کردید.


    اگر واچ داگ فعال باشه و توی main برنامه
    داخل while اصلی یک {}(while(1 وجود داشته باشه. واچ داگ فعال و میکرو ریست می شه؟

    آره یا نه؟

    دیدگاه


      #32
      پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

      نوشته اصلی توسط aliila
      با فرکانس 16 مگ هر دستور 62.5 نانوثانیه طول میکشه و برای هر بار اجرای برنامه روتین تایمر واچدگ 10 پالس ساعت نیازمندیم و
      طول کورس واچداگ 15 میلی ثانیه است.
      پس ما از هر 15 میلی ثانیه به مقدار 9-^10 *10*62.5 ثانیه تلفات داریم اگه تناسب رو در بیاریم به عدد 4 دهم درصد میرسم
      در حقیقت کاهش کارایی 50 درصد اشتباه است .و کارایی 0.4 درصد کاهش پیدا میکنه
      من هنوزم متوجه نشدم چطوری 50 درصد میشه؟
      سر ریز تایمر نگهبان طبق اطلاعات دیتاشیت مگا32 در ولتاژ 5 ولت مستقل از کلاک سیستم حداقل هر 16.3 میلی ثانیه تا حداکثر 2.1 ثانیه رخ میده. به این معنی هست که مثلا اگه روی 16.3 میلی ثانیه تنظیم باشه شما حداکثر این مدت زمان فرصت دارین تا عمل ریست انجام بدین
      حالا اگه هرچی زودتر تایمر ریست کنین مثلا هر 1 میکرو ثانیه، تو عملکرد برنامه تاثیری نداره ولی سربار بیشتری ایجاد میشه
      [glow=red,2,300]تاپيک هاي ايجاد شده[/glow]

      دیدگاه


        #33
        پاسخ : پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفا

        نوشته اصلی توسط Arjena
        من متوجه نشدم. دو پهلو صحبت کردید.


        اگر واچ داگ فعال باشه و توی main برنامه
        داخل while اصلی یک {}(while(1 وجود داشته باشه. واچ داگ فعال و میکرو ریست می شه؟

        آره یا نه؟
        آره
        اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

        دیدگاه


          #34
          پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

          نوشته اصلی توسط ADMlN
          من هنوزم متوجه نشدم چطوری 50 درصد میشه؟
          سر ریز تایمر نگهبان طبق اطلاعات دیتاشیت مگا32 در ولتاژ 5 ولت مستقل از کلاک سیستم حداقل هر 16.3 میلی ثانیه تا حداکثر 2.1 ثانیه رخ میده. به این معنی هست که مثلا اگه روی 16.3 میلی ثانیه تنظیم باشه شما حداکثر این مدت زمان فرصت دارین تا عمل ریست انجام بدین
          حالا اگه هرچی زودتر تایمر ریست کنین مثلا هر 1 میکرو ثانیه، تو عملکرد برنامه تاثیری نداره ولی سربار بیشتری ایجاد میشه
          نوشته اصلی توسط aliila
          .
          .
          .
          در حقیقت کاهش کارایی 50 درصد اشتباه است .و کارایی 0.4 درصد کاهش پیدا میکنه
          اونچيزي که در دانشگاه ياد ميگيريد، "الفبايي" هست براي نوشتن يک "رمان" !!

          دیدگاه


            #35
            پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

            با سلام
            ببخشید این سگ watchdog من همیشه خوابه. یعنی WDTCR=0x0F یا WDTCR=0x08 رو همون اوایل تابع main مینویسم و بعدش یک فانکشنی رو که قبل از main تعریف کردم اجرا میکنم تا وقتی داخل اون فانکشنه هیچ اتفاقی نمی افته! بعد از اینکه از اون فانکشن میاد بیرون تازه ریست میشه. اون فانکشن هم گاهی تا چند دقیقه طول میکشه اجرا شدنش. تایمرش رو هم هیچ جا ریست نکردم. بیت وقفه ی کلی هم همیشه روشنه.
            البته وقفه ی سریال و وقفه ی تایمر صفرم هم فعاله.

            دیدگاه


              #36
              پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

              نوشته اصلی توسط redown
              با سلام
              ببخشید این سگ watchdog من همیشه خوابه. یعنی WDTCR=0x0F یا WDTCR=0x08 رو همون اوایل تابع main مینویسم و بعدش یک فانکشنی رو که قبل از main تعریف کردم اجرا میکنم تا وقتی داخل اون فانکشنه هیچ اتفاقی نمی افته! بعد از اینکه از اون فانکشن میاد بیرون تازه ریست میشه. اون فانکشن هم گاهی تا چند دقیقه طول میکشه اجرا شدنش. تایمرش رو هم هیچ جا ریست نکردم. بیت وقفه ی کلی هم همیشه روشنه.
              البته وقفه ی سریال و وقفه ی تایمر صفرم هم فعاله.
              یعنی هیچ کس نمیدونه گیر کار کجاست؟

              دیدگاه


                #37
                پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

                احتمالا داخل فانکشن از delay استفاده کردین . کامپایلر codevision داخل تابع delay
                واچ داگ رو به صورت خود کار ریست میکنه .

                دیدگاه


                  #38
                  پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

                  من که بالاخره نفهمیدم این واچ داگ رو چجوری تو بسکام فعال کنم که واقعا کار کنه. تعداد خط هاای برنامه هم زیاده.

                  دیدگاه


                    #39
                    پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

                    راستش اینه که وقت نکردم پست دوستان رو بخونم، ولی حتما به خاطر داشته باش، وقتی رله استفاده می کنه، حتما حتما حتما حتما حتما باید سر تغذیه میکرو خازن بگذاری (به مقدار لازم).
                    مطمئن باش همین نکته کوچیک تو 90 درصد موارد هنگ میکرو رو رفع می کنه.
                    نکته دوم اینکه هم خازن ظرفیت بالا بگذار (الکترولیت) هم خازن عدسی...

                    دیدگاه


                      #40
                      پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

                      با سلام خدمت اساتید
                      من یه فرستنده گیرنده hm با atmega16 راهاندازی کردم که دو تا موتورو با l293 کنترل کنه که همین مشکل هنگ کردن پیش میاد ولی وقتی تغذیه درایور موتورو میکرو رو جدا میکنم مشکلی ندارم
                      ممنون میشم راهنماییم کنید...!؟

                      دیدگاه


                        #41
                        پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

                        احتمالا منبع تغذیه شما ناپایدار هست
                        برسی کنید ، آیا منبع تغذیه ای که دارین ، میزان جریان دهی خوبی داره !
                        خازن 100 نانو رو هم فراموش نکنید ، کنار هر جایی که مصرف کننده دارین بذارین

                        دیدگاه


                          #42
                          پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

                          من پایه ی ریست مگا8 رو پول آپ کرد حالا دستی ریست میکنم دیگه بر نمیگرده و برنامه رو اجرا کنه چرا کسی نظری داره
                          گاهی نمی شود که نمی شود
                          گاهی قرعه نگفته به نام تو می شود
                          گاهی گدای گدایی و چاره چیست
                          گاهی تمام شهر گدای تو میشود
                          ای بنده بدان در این عالم ___هرچه خدا خواست همان می شور

                          دیدگاه


                            #43
                            پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

                            نوشته اصلی توسط mfazl22 نمایش پست ها
                            من پایه ی ریست مگا8 رو پول آپ کرد حالا دستی ریست میکنم دیگه بر نمیگرده و برنامه رو اجرا کنه چرا کسی نظری داره
                            سلام پایه ریست رو بدون پول اپی که انجام دادی یک لحظه به زمین
                            وصل و سپس قطع کن
                            قصه زندگی همیشه با مدادی که ما دوست داریم نوشته نمی شه .....

                            دیدگاه


                              #44
                              پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

                              سلام
                              آقا من یک دستگاه کنترل رطوبت و دما اینجا درست کردم اما چنتا گیر داره ممنون میشم بفرمایید چطور میتونم رفع کنم.
                              1 - دکمه های آنالوگم بعضی وقتا کار میکنه بعضی وقتا نه.آیا نویز میتونه علتش باشه؟چطور 4 تا دکمه آنالوگ درست کنم بدون مشکل.
                              2- گاهی صفحه نمایشم هنگ میکنه اما میکرو داره کار خودشو ادامه میده
                              3-گاهی هم کلا میکرو هم هنگه.
                              البته الان یک خازن مولتی لایر 10 میکرو داشتم موازی vcc+5 و gnd میکرو پرو که تغذیه سنسور و نمایشگر و دکمه های آنالوگم هست کردم.از همین پاسخها فهمیدم که خازن در رفع نویز مفیده اما...

                              دیدگاه


                                #45
                                پاسخ : جلوگیری از هنگ کردن میکرو و نحوه استفاده از Watchdog Timer

                                سلام
                                وضع پاسخ دهی در سایت نا امید کننده هست.
                                به هرحال مسئله بنده برطرف شد.
                                1- دکمه ها که قطعی سیم علتش بود
                                2- با گرفتن تغذیه lcd از آداپتور بجای میکرو مشکل هنگ LCD هم برطرف شد.
                                3- به خروجی VCC میکرو هم خازن اضافه کردم.
                                الحمدولله مثل چی درست شد.
                                حالا فقط مونده برای اطمینان خاطر watchdog را به برنامه اضافه کنم.

                                دیدگاه

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