ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 15
  1. #1
    2009/06/04
    تهران
    89
    3

    فعال كردن Watch DOG تایمر به صورت صحیح

    سلام به دوستان عزیز

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

    توی جستجویی که داشتم مطالب و راهنماییها اکثرا مربوط به AVR بود و موارد کمی به PIC اشاره شده بود....

    با کمک دوستان میخواستم چند مثال عملی برای بیسیک و C به صورت کامل زده بشه تا هم من و هم دوستان دیگه اطلاعاتشون کاملتر بشه....

    مثلا توی حلقه ها...... توی دستورات IF و حتی تایمرها و هنگام اجرای دستورات Delay و Sleep عکس العمل و نحوه کارکرد درست Watchdog رو متوجه بشیم

    با سپاس فراوان......
    دیگه رو زمین جا نیست... باید رفت....
  2. #2
    2009/06/04
    تهران
    89
    3

    پاسخ : فعال كردن Watchdog تایمر به صورت صحیح

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

    نتیجه: پس برنامه ای باید نوسته شود که در ابتدا یا حلقه جاری واچ داگ فعال شده و با توجه به مقدار تعریف شده قبل از آن نگذاریم سرریز شود....

    دوستانی که تجربه و اطلاعات راجع به تاثیر و نحوه عملکرد واچ داگ تایمر در دستورات مختلف مخصوصا دستورات تاخیر و حلقه های شمارنده دارند خواهشمند است تشریف بیارند و به این شاگردان کوچکشون کمک کنند.... ممنون :nerd:
    دیگه رو زمین جا نیست... باید رفت....
  3. #3
    2007/11/22
    تبریز
    2,483
    492

    پاسخ : فعال كردن Watchdog تايمر به صورت صحيح

    سلام.
    ماشاالله شما خودتون اطلاعات مناسبي دارين تو زمينه واچ داگ.
    تو کامپايلر CCS ، از طريق کدويزارد ميشه واچ داگ رو فعال کرد.
    يا با استفاده از دستور
    کد:
    #fuses WDT
    ميشه اون رو فعال کرد و با دستور
    کد:
    #fuses NOWDT
    ميشه غير فعالش کرد.
    دستور زير هم علاوه بر تعريف مقدار فرکانس کاري و نوع اون؛ باعث ميشه که موقع استفاده از تاخير،تايمر واچ داگ صفر بشه و باعث ريست شدن ميکرو نشه:
    کد:
    #use delay(internal=4000000,restart_wdt)
    اين دستور هم براي زمان بندي ريست شدن تايمر واچ داگ هست:

    کد:
    setup_wdt(WDT_2304MS);
    البته اون عدد تو ويزارد مشخص شده بود و همونطور که ميدونين فقط مقادير مشخصي رو ميشه بهش اختصاص داد.

    خب نحوه ي ريست کردن واچ داگ چطوره؟
    استفاده از دستور زير :
    کد:
    restart_wdt();
    تو کجاي برنامه؟
    اگه حلقه ي (while(1 دارين، آخر اون حلقه و اگه اون حلقه يه خرده طولاني هست يا احتمال ميدين طولاني بشه، وسطهاي حلقه هم از اين دستور ميتونين يک يا چند بار استفاده کنين تا از سرريز واچ داگ جلوگيري بشه.

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  4. #4
    2009/06/04
    تهران
    89
    3

    پاسخ : فعال كردن Watchdog تایمر به صورت صحیح

    درود بر شاهرخ عزیز

    اول تشکر از زحمات شما

    دوم میخوایم افرادی ( اول خودم) که اطلاعات کمی راجعبه این دستور مهم (ولی متاسفانه کمتر شناخته شده) دارند بتوانند بدون مشکل برای کارهای برنامه نویسی خود بهره برداری کنند

    سوم مثالهای مختلفی بزنیم در زبانهای بیسیک و C آخه هر دوتاشون کاربرد دارند بین دوستان

    چهارم اینکه فوت و فن های این دستور یا شرایط های خاص اون بیان بشه ( مثلا توی AVR واچ داگ با استفاده از دستور Delay به صورت خودکار غیر فعال میشه) ( اگه اشتباه نکنم :mrgreen
    دیگه رو زمین جا نیست... باید رفت....
  5. #5
    2009/06/04
    تهران
    89
    3

    پاسخ : فعال كردن Watchdog تایمر به صورت صحیح

    main:


    TRISB = 0
    portb = 0

    loop1:

    portb = 255
    delay_ms 500
    portb = 0
    delay_ms 500

    clrWDT

    goto loop1

    end.


    من برای فعال کردن واچ داگ در کامپایلر میکروبیسیک پرو کدی پیدا نکردم که واچ داگ رو فعال کنم و یا مقدار دهی کنم...

    برنامه بالا رو که نوشتم اگه برنامه حدود دو ثانیه به انتها نرسه میکرو ریست میشه....

    دوستان راهنمایی کنند و نظر بدند.... ممنون
    دیگه رو زمین جا نیست... باید رفت....
  6. #6
    2007/11/22
    تبریز
    2,483
    492

    پاسخ : فعال كردن Watchdog تايمر به صورت صحيح

    واچ داگ رو تو تنظيمات پروژه هم ميشه فعال کرد.(تو کامپايلر ميکروسي که اينطور بود)
    شما تو بيسيک نوشتي(PBP) خيلي وقته با اين کامپايلر کار نکردم.نميدونم چطوري تو اين کامپايلر ميشه فعالش کرد؟ (از طريق تنظيمات برنامه)
    الان اين برنامه که نوشتين، مدت زماني که اگه هنگ بکنه، ميکرو ريست ميشه، تو کجا تنظيم شده؟ (همون 2 ثانيه- تست کردين؟)

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  7. #7
    2009/06/04
    تهران
    89
    3

    پاسخ : فعال كردن Watchdog تايمر به صورت صحيح

    نقل قول نوشته اصلی توسط شاهرخ مستقيمي
    واچ داگ رو تو تنظيمات پروژه هم ميشه فعال کرد.(تو کامپايلر ميکروسي که اينطور بود)
    شما تو بيسيک نوشتي(PBP) خيلي وقته با اين کامپايلر کار نکردم.نميدونم چطوري تو اين کامپايلر ميشه فعالش کرد؟ (از طريق تنظيمات برنامه)
    الان اين برنامه که نوشتين، مدت زماني که اگه هنگ بکنه، ميکرو ريست ميشه، تو کجا تنظيم شده؟ (همون 2 ثانيه- تست کردين؟)
    نه توی pbp ننوشتم... منم مثه شما با میکرو بیسیک پرو و میکرو سی پرو کار میکنم

    توی کانفیگوریشن واچ داگ رو فعال میکنم..... زمان بندی رو هم دقیق بدست اوردم (به روش خودم :eek حدود 2 ثانیه اگه میکرو هنگ کنه یا به آخر برنامه نرسه (چون فرمان ریست آخر برنامه هست) ریست میکنه

    دیگه رو زمین جا نیست... باید رفت....
  8. #8
    2009/06/04
    تهران
    89
    3

    پاسخ : فعال كردن Watch DOG تایمر به صورت صحیح

    روش بدست اوردن زمان دو ثانه من اینطوری بود که با کم و زیاد کردن DELAY استفاده شده در برنامه اون رو بدست اوردم و فهمیدم میکرو کی ریست میشه با کرنومتر هم اندازه گرفتم همون بود

    در اینجا متوجه شدم که دستورات DELAY عملکرد واچ داگ رو غیر فعال نمیکنه در صورتی که اگه اشتباه نکنم جایی خونده بودم که توی AVR اینگونه نیست

    خوب برای تجربه اول بد نبود حداقلش اینه که فهمیدم برای استفاده از واچ داگ نباید دستور تاخیر بیشتر از دو ثانیه داشته باشم وگرنه در زمان اجرای این دستور که بالاتر از دو ثانه بره میکرو ریست میشود.... :nerd:
    دیگه رو زمین جا نیست... باید رفت....
  9. #9
    2009/06/04
    تهران
    89
    3

    پاسخ : فعال كردن Watch DOG تایمر به صورت صحیح

    خوب......


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

    :mrgreen:
    دیگه رو زمین جا نیست... باید رفت....
  10. #10
    2007/11/22
    تبریز
    2,483
    492

    پاسخ : فعال كردن Watch DOG تايمر به صورت صحيح

    نقل قول نوشته اصلی توسط roodi
    خوب......


    حالا مونده راهي براي بدست اوردن فعال کردن با مقدار دهي دلخواه به واچ داگ و غير فعال کردن در زمان دلخواه و مورد نياز

    :mrgreen:
    تو CONFIGURATION WORD ، بيت 2 عملکردش اين هست: WDTEN: Watchdog Timer Enable bit

    يه سري تنظيمات هم داره که تو OPTION_REG هست.(با تايمر صفر مشترک هست)

    دستور اسمبلي پاک کردن مقدار تايمر رو هم که خودتون اشاره کردين اين هست : CLRWDT

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 15

موضوعات مشابه

  1. مشکل در ایجاد زمان صحیح با تایمر در بسکام
    توسط babak_mobile در انجمن میکروکنترلرهای AVR
    پاسخ: 8
    آخرين نوشته: 2016/01/08, 11:09
  2. آيا فعال کردن فيوزبيت wdton براي کار کردن watch dog الزامي است
    توسط hamedtaran در انجمن میکروکنترلرهای AVR
    پاسخ: 7
    آخرين نوشته: 2014/12/07, 11:58
  3. عدم کارکرد صحیح تایمر میکرو در عمل
    توسط pooryavaraste در انجمن میکروکنترلرهای AVR
    پاسخ: 13
    آخرين نوشته: 2012/07/25, 18:36
  4. کار نکردن پورت d به صورت صحیح
    توسط baby_1 در انجمن میکروکنترلرهای PIC
    پاسخ: 7
    آخرين نوشته: 2010/12/27, 21:03
  5. avr(قسمت تایمر watch dog)
    توسط shytn در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2008/04/07, 16:37

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •