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

 
 
> Си и переход по явному адресу, Нужна консультация
srg_co
сообщение Sep 21 2006, 14:48
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 22-03-05
Из: Краснодар
Пользователь №: 3 600



Среда: Codevision AVR 1.24.8b prof
CPU: Mega8

Есть кусок кода в котором присутствует команда #asm("jump 0x0000"), е.е. в определенный момент необходимо перейти на стартовый адрес т.е. перезапустить контроллер. Эта конструкция успешно работала в версии Codevision 1.24.6 prof, настройки в проекте не менялись, причем компиляция проходит нормально, а при создании проекта вываливается ошибка: Error(s) occurred during assembly и указывает на JMP 0x0000 в ассемблерном файле.

Какие есть мысли по этому поводу ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
shamray
сообщение Sep 22 2006, 08:39
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 114
Регистрация: 31-08-05
Из: Украина, Одесса
Пользователь №: 8 105



Если надо перейти по определенному адресу, то можно на Си наптисать

Код
void (*voidFuncPtr)(void);

voidFuncPtr=(void(*)(void))0x0000;   //адресс куда переходим
voidFuncPtr();


Но если надо действительно перегрузить контроллер полностью, то действительно лучше использовать WDT. В этом случае инитятся все внутренние регистры.

Просто написать:

Код
_CLI();
WDTCR=(1<<WDE)|(1<<WDP2)|(1<<WDP1)|(1<<WDP0);    //WDT @ 1.9
for(;;);
Go to the top of the page
 
+Quote Post
Семён
сообщение Sep 22 2006, 08:50
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922



Цитата(shamray @ Sep 22 2006, 12:39) *
Но если надо действительно перегрузить контроллер полностью, то действительно лучше использовать WDT. В этом случае инитятся все внутренние регистры.

Просто написать:

Код
_CLI();
WDTCR=(1<<WDE)|(1<<WDP2)|(1<<WDP1)|(1<<WDP0);    //WDT @ 1.9
for(;;);

Из опыта добавлю, уже писал об этом выше. Этот код лучше распологать в самом конце программной памяти.


--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
Go to the top of the page
 
+Quote Post



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

 


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


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