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





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









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









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






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

نمایش نتایج: از 1 به 8 از 8
  1. #1
    2010/04/06
    شيراز
    59
    1

    مشکل با رجیستر Watchdog

    سلام دوستان
    همینطور که میدونید وقتی که تایمر Watchdog عمل میکنه و میکرو ریست میشه ، یک بیت جهت آشکار سازی ریست ناشی از Watchdog ست میشه که میتونیم اونو تا قبل از اینکه دوباره تایمر رو Config کنیم آشکار سازی کنیم .
    این بیت به گفته کاتالوگ MCUCSR – WDRF و توی مثال بسکام Mcusr.wdrf نام داره ولی من نتونستم ازش جواب بگیرم .
    یعنی بلافاصله بعد از ریست شدن میکرو اونو میخونم که از دست نره ولی همیشه مقدارش صفره .
    کسی تا حالا از این بیت توی بسکام جواب گرفته ؟
    مدل میکرو Mega32A
    سخت است حرفت را نفهمند،

    سخت تر اين است که حرفت را اشتباهي بفهمند
  2. #2
    2010/04/06
    شيراز
    59
    1

    پاسخ : مشکل با رجیستر Watchdog

    کسی از اساتید مستونه کمک کنه ؟
    کسی تا حالا با این رجیستر کار کرده ؟
    سخت است حرفت را نفهمند،

    سخت تر اين است که حرفت را اشتباهي بفهمند
  3. #3
    2010/04/09
    اسلامشهر
    1,499
    41

    پاسخ : مشکل با رجیستر Watchdog

    با سلام



    پس به نظرم باید اولین کاری که توی بردار ریست و قبل از پرش به روتبن اصلی برنامه انجام میشه خوندن این فلگ باشه وگرنه یک شدندش رو از دست میدید
    به خاطر همین شاید با بسکام نشه اونو تشخیص داد چون احتمالا خوندن فلگ توی روتین اصلی انجام میشه و لذا یک شدنش از دست میدید چرا که شاید قبل از پرش به روتین اصلی یسری کارای احتمالی دیگه انجام میشه البته من فقط حدس میزنم چون دقیقا نمیدونم خروجی بسکام چیه!
  4. #4
    2010/04/06
    شيراز
    59
    1

    پاسخ : مشکل با رجیستر Watchdog

    فکر میکنید میشه قبل از اینکه مدل میکرو را تعریف کنیم این رجیستر رو بخونیم ؟
    یه مثال خود بسکام داره که این بیت رو بعد از ریستارت میخونه و خیلی هم درگیر اول برنامه نوشتن نمیشه .
    ولی خوب اونم کار نمیکنه !!!!
    سخت است حرفت را نفهمند،

    سخت تر اين است که حرفت را اشتباهي بفهمند
  5. #5
    2010/04/09
    اسلامشهر
    1,499
    41

    پاسخ : مشکل با رجیستر Watchdog

    نقل قول نوشته اصلی توسط dr_mnf
    فکر میکنید میشه قبل از اینکه مدل میکرو را تعریف کنیم این رجیستر رو بخونیم ؟
    تا اونجا که من میدونم توی سی این فقط یک دستور پیش پردازشی که فایل سرایندی که شامل اسم رجیسترهای مربوط به میکرو مورد نظر هست رو به برنامه الصاق میکنه تا کامپایلر بتونه با استفاده از اون برنامه رو کامپایل کنه از این رو جزو دستورات برنامه بحساب نمیاد که بخواهیم دستوری رو قبل اش بنویسیم یا ننویسیم که فکر میکنم میشه همین موضوع رو هم به بسکام تعمیم داد

    یه مثال خود بسکام داره که این بیت رو بعد از ریستارت میخونه و خیلی هم درگیر اول برنامه نوشتن نمیشه .
    ولی خوب اونم کار نمیکنه !!!!
    خوب این مثالی که میگید شاید یه شرایطی داره تا درست اجرا بشه اگه میشه بزاریدش تا یه بررسی با هم داشته باشیم.
  6. #6
    2010/04/06
    شيراز
    59
    1

    پاسخ : مشکل با رجیستر Watchdog

    اینم نمونه برنامه از خود بسکام

    '-----------------------------------------------------------------------------------------

    'name : watchd.bas

    'copyright : (c) 1995-2008, MCS Electronics

    'purpose : demonstrates the watchdog timer

    'micro : Mega88

    'suited for demo : yes

    'commercial addon needed : no

    '-----------------------------------------------------------------------------------------



    $regfile = "m88def.dat" ' specify the used micro

    $crystal = 8000000 ' used crystal frequency

    $baud = 19200 ' use baud rate

    $hwstack = 32 ' default use 32 for the hardware stack

    $swstack = 32 ' default use 32 for the SW stack

    $framesize = 40 ' default use 40 for the frame space

    Dim B As Byte

    Dim Wdbit As Bit



    Print "Watchdog test"

    If Mcusr.wdrf = 1 Then ' there was a WD overflow

    Wdbit = 1 'store the flag

    End If



    Config Watchdog = 2048 'reset after 2048 mSec

    If Wdbit = 1 Then 'just print it now since it is important that CONFIG WATCHDOG runs early as possible

    Print "Micro was reset by Watchdog overflow"

    End If



    Start Watchdog 'start the watchdog timer

    Dim I As Word

    For I = 1 To 1000

    Waitms 100

    Print I 'print value

    B = Inkey() ' get a key from the serial port

    If B = 65 Then 'letter A pressed

    Stop Watchdog ' test if the WD will stop

    Elseif B = 66 Then 'letter B pressed

    Config Watchdog = 4096 'reconfig to 4 sec

    Start Watchdog 'CONFIG WATCHDOG will disable the WD so start it

    Elseif B = 67 Then 'C pressed

    Config Watchdog = 8192 ' some have 8 sec timer

    'observe that the WD timer is OFF

    Elseif B = 68 Then 'D pressed

    Start Watchdog ' start it

    End If

    'Reset Watchdog

    'you will notice that the for next doesnt finish because of the reset

    'when you unmark the RESET WATCHDOG statement it will finish because the

    'wd-timer is reset before it reaches 2048 msec

    'When you press 'A' you will see that the WD will stop

    'When you press 'B' you will see that the WD will time out after 4 Sec

    'When you press 'C' you will see the WD will stop

    'When you press 'D' you will see the WD will start again timing out after 8 secs

    Next

    End



    And this shows how to read the register r0:

    Dim Breset As Byte

    Breset = Peek(0)

    When you show this value on an LCD display you will see a value of 7 the first time, and later a value of 15 when the WD reset occured.
    سخت است حرفت را نفهمند،

    سخت تر اين است که حرفت را اشتباهي بفهمند
  7. #7
    2010/04/09
    اسلامشهر
    1,499
    41

    پاسخ : مشکل با رجیستر Watchdog

    احتمالا زمان اجرای دستور پرینت بقدری زیاد هست که دیگه مجالی برای تشخیص اینکه wdrf یک شده نمی مونه
    آخه اگه بگیم ارسال هر کاراکتر با توجه به بود ریت حدود 521 میکرو ثانیه صرف نظر از زمان لازم برای اجرای بقیه روتین نوشتن طول بکشه اینجا 13 تا کاراکتر داریم میشه حدود 6.78 میلی ثانیه که با توجه به فرکانس کار میکرو میشه معادل 54240 کلاک ساعت به نظرم دیگه بعد از این زمان wdrf صفر شده ، این مسئله رو چک کردید ؟
  8. #8
    2010/04/06
    شيراز
    59
    1

    پاسخ : مشکل با رجیستر Watchdog

    آره چک کردم .
    توی برنامه خودم اومدم اول میکرو رو تعریف کردم وبلافاصله یه متغییر تعریف کردم و رجیستر Mcusr.wdrf رو درونش ذخیره کردم و بعدش رفتم سراغ تعریف Boud و دیگر چیزا .
    فکر نمیکنم اینجوری 10تا سیکل هم زمان ببره . ولی بازم بیفایده بود و همیشه صفر نشون میده !!
    اونجوری هم که فهمیدم این بیت تغییر نمیکنه تا وقتی که مجددا Config Watchdog کنی !!
    سخت است حرفت را نفهمند،

    سخت تر اين است که حرفت را اشتباهي بفهمند
نمایش نتایج: از 1 به 8 از 8

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

  1. مشکل با watchdog
    توسط stooy در انجمن میکروکنترلرهای AVR
    پاسخ: 14
    آخرين نوشته: 2015/09/06, 00:20
  2. مشکل با watchdog در pic32
    توسط h123456h در انجمن میکروکنترلرهای PIC
    پاسخ: 6
    آخرين نوشته: 2015/04/29, 19:31
  3. مشکل با تایمر watchdog
    توسط sr.morteza در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2015/03/13, 13:49
  4. مشکل در watchDog در at91sam7x256
    توسط mms25754 در انجمن ATMEL
    پاسخ: 2
    آخرين نوشته: 2010/05/14, 22:13
  5. [AVR WATCHDOG] Watchdog setup sequence is timed out. Do nothing.
    توسط amoosaeid در انجمن میکروکنترلرهای AVR
    پاسخ: 14
    آخرين نوشته: 2009/08/06, 00:59

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

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

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

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

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