реклама на сайте
подробности

 
 
> как изменить обработку bad interrupt в winavr?
viakon
сообщение Feb 9 2010, 04:30
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Хочу чтоб происходил не переход на 0, а сброс по вачдогу.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kiv121
сообщение Feb 9 2010, 07:56
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 12-11-09
Пользователь №: 53 586



Так и не добился перезагрузки собакой у 1281
Мож кто пробовал? Уходит в некуда и все тут.
Iar 5.3
Тупо jmp, вроде не правильно.
Про глюканые партии мсх .?
Поставил внешнее 1705
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 9 2010, 09:50
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(kiv121 @ Feb 9 2010, 09:56) *
Iar 5.3
В этой ветке обсуждался другой компилятор. Не видя вашего кода можно сказать только "где-то у вас ошибка". Скорее всего - в запуске собаки. Показывайте код.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
kiv121
сообщение Feb 9 2010, 16:22
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 12-11-09
Пользователь №: 53 586



Сергей, с УВАЖЕНИЕМ к Вам отношусь.
Нет времени на всё. Гоню процесс.
Да сесть бы и разобраться...
Такое ощущение - партия брака (поставщики сказали)
Закупил много.
Развели на внешнюю собаку.
Вся писанина - мож кто как решил.
А нет - сдуем к чертовой матери!
А вся бадяга - RAM.
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 9 2010, 23:03
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(kiv121 @ Feb 9 2010, 18:22) *
Вся писанина - мож кто как решил.

Ну например так...
Код
#define wdr()  asm("wdr")
#define cli()  asm("cli")

инициализация
static inline void __hal_WDTInit(void)
{
    U8 iStatus = SREG;
    cli();
    wdr();
    // Start timed sequence
    WDTCSR |= (1 << WDCE);
    // Set new prescaler to 128K cycles (timeout ~1s), and enable system reset by WDT
    WDTCSR = (1 << WDE) | (1 << WDP2) | (1 << WDP1) | (0 << WDP0);
    SREG = iStatus;
}

сброс
void reboot(void)
{
   cli();
   for(;;);
}
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 08:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01388 секунд с 7
ELECTRONIX ©2004-2016