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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Прерывания в Keil, научите как правильно
_Pasha
сообщение Mar 5 2009, 16:11
Сообщение #16


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(smk @ Mar 5 2009, 18:58) *
Я их не трогал. Даже не уверен, что точно знаю что это.


Я не разбираюсь в кейле, но знаю, что там эти опции задаются в визарде. Если каким-то макаком задана опция Vectors in RAM, то должен быть код, который эти векторы туда поместит. Кода не видно. Во-вторых, не совсем понятно, где clear_bss и прочая подобная инициализирующая требуха. Если я чего-то не понимаю ( по незнанию кейла), меня исправят.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 5 2009, 16:18
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



"Инициализирующая требуха" не нужна, а вот выполнение
Код
void __swi(0xFF) enable_isr (void);

моментально завесит процессор, т.к. вектор SWI не определен.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 5 2009, 16:23
Сообщение #18


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(aaarrr @ Mar 5 2009, 19:18) *
моментально завесит процессор, т.к. вектор SWI не определен.


Я полагал, что автор темы дочитал-таки от начала до конца приведенную ссылку и вставил код оттуда в стартапsad.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 5 2009, 16:29
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Это я до конца не дошел biggrin.gif
Впрочем, прерывания включены в стартапе, поэтому дергаться не стоит.
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 5 2009, 17:49
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата(aaarrr @ Mar 5 2009, 18:29) *
Впрочем, прерывания включены в стартапе, поэтому дергаться не стоит.

void __swi(0xFF) enable_isr (void); - это с enable_isr (); лишнее?


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 5 2009, 17:57
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Лишнее.
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 5 2009, 18:09
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата(aaarrr @ Mar 5 2009, 19:57) *
Лишнее.

Тогда что? Есть пример рабочего кода для Keil? Что нужно чтоб описать прерывание?


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 5 2009, 18:28
Сообщение #23


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Ой. Прошу прощения, посмотрел не туда. В стартапе было-таки

Код
MSR     CPSR_c, #Mode_USR



Забил Вам мозги...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 5 2009, 20:07
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(smk @ Mar 5 2009, 21:09) *
Тогда что? Есть пример рабочего кода для Keil? Что нужно чтоб описать прерывание?

Ладно, пойдем на второй круг. Что у Вас сейчас сделано и как себя ведет?
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 6 2009, 06:09
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Сейчас нормально работает код внутри while(1) и таймер. Проблема в том, что не выполняется обработчик прерываний. Опыта маловато чтоб разобраться в чем дело. Вот если бы хоть раз заработало как надо... тогда другое дело.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 6 2009, 07:36
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Ну вроде бы заработало. Плохо перевел функции регистров VIC с англицкого, отсюда и ошмбки.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 20:10
Рейтинг@Mail.ru


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