|
|
  |
Проблема с mega88 |
|
|
|
Feb 5 2008, 20:00
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Stanislav_S @ Feb 6 2008, 02:35)  Возникла такая проблема. Вотчдог выключен WDTON=1, WDTCSR = 0; Пауэр контроллер тоже 0. В программе вставляю задержку __delay_cycles(1000); ( кварц 20 МГц), мега периодически сбрасывается в чем может быть проблема? Чтение даташита ситуацию пока не проясняет. Table 25. Watchdog Timer Configuration
WDTON_WDE_WDIE_Mode______________Action on Time-out 0_______0____0_____Stopped____________None 0_______0____1_____Interrupt Mode_______Interrupt 0_______1____0_____System Reset Mode__Reset 0_______1____1_____Int. and Sys.Reset___ Interrupt, then go to System Reset Mode 1_______x____x_____ System Reset Mode_ Reset У Вас получается самый последний режим - то бишь периодический сброс
--------------------
|
|
|
|
|
Feb 5 2008, 20:13
|

извечный пессимист
    
Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125

|
Цитата(prottoss @ Feb 6 2008, 01:00)  Table 25. Watchdog Timer Configuration WDTON_WDE_WDIE_Mode______________Action on Time-out 0_______0____0_____Stopped____________None 0_______0____1_____Interrupt Mode_______Interrupt 0_______1____0_____System Reset Mode__Reset 0_______1____1_____Int. and Sys.Reset___ Interrupt, then go to System Reset Mode 1_______x____x_____ System Reset Mode_ Reset
У Вас получается самый последний режим - то бишь периодический сброс (1) WDTON WDE WDIE Mode Action on Time-out 1 0 0 Stopped None 1 0 1 Interrupt Mode Interrupt 1 1 0 System Reset Mode Reset Interrupt and System Reset Interrupt, then go to System 1 1 1 Mode Reset Mode 0 x x System Reset Mode Reset ote: 1. WDTON Fuse set to “0“ means programmed and “1“ means unprogrammed. У меня так написано получается режим стоп.
--------------------
Slaves are those of this world Given freedom to lay chains upon The Master The wolf is no longer free Release the chains and come for me
|
|
|
|
|
Feb 6 2008, 06:54
|
Тутэйшы
   
Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263

|
Если вы используете вачдог, убедитесь в правильной инициализации. Пример на 2 секунды. Код void Watchdog_Init(void) { __watchdog_reset(); WDTCSR = (1<<WDCE)|(1<<WDE); WDTCSR = (1<<WDP0)|(1<<WDP1)|(1<<WDP2)|(1<<WDE); } Если не используете вообще, значит что-то одно - или фуз постоянного включения вачдога включили или стек проседает.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|