Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: atmega48p
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
max_mart
Всем привет.
Ситуация следующая:
Устройство все время спит(загоняю его в повер-доун).
По прерыванию вотчдога(8с и только режим прерывания без ррежима системного сброса) просыпается и делает дело.
Но только вот в протеусе что-то не работает. Среда: CodeVisionAVR
Кусок кода:
CODE

void main (void)
{
...
#pragma optsize-

#asm("wdr")
WDTCSR=0b01111001; // 1024 - prescaler (WDE&WDCE - for setting prescaler)
WDTCSR=0b11100001; // interrupt mode

#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

SMCR|= 0b00000101; // enable sleep mode (power-down mode)
#asm("nop")
#asm("nop")
#asm("nop")
PRR |= 0b10001100; // disable SPI TWI TIM1
#asm("nop")
#asm("nop")
#asm("nop")

#asm("sei")

while (1)
{
// Place your code here
send_BYTE(0x49);
#asm("sleep")
#asm("nop")
}
}

// Watchdog timeout interrupt service routine
interrupt [WDT] void wdt_timeout_isr(void)
{
WDTCSR|=(1<<WDIE);
WDTCSR|=(1<<WDIF);
// Place your code here
Send_Packet(0x69,0x45);
}

Правильно ли я его инциализирую или это глюки протеуса? Даташит перечитал несколько раз вроде все правильно, а глючит (пишет,что временная последовательность истекла и вотчдог впадает в аут!!!)
(((
max_mart
Ну че никто не знает?
pavel-pervomaysk
Работать оно будет всю жизнь в протеусе ?
У меня есть проекты, которые протеус отказывается работать, а в реальности все работает.
max_mart
Господи при чем здесь протеус!!!!!!!!!!!!!!!!!!! Я в общем плане интересуюсь!!!!!!!!!!!!!!!!!!!!!!!!!!
Может в коде дело?
Мне кажется я все ясно описал!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
usav
"Господи при чем здесь протеус!!!!"
-----------------------------------------------
Так значит, самое время, включить в железе!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.