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

 
 
> не работают прерывания [решено]
abutorin
сообщение Jan 13 2013, 17:19
Сообщение #1


Участник
*

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



Добрый вечер.
Пытаюсь использовать прерывания в проекте с scmRTOS. При включении прерывания камень зависает. ПОтратив некоторое время понял что описаный мой обработчик прерывания неиспользуется, а используется обработчик по умолчанию (тот что бесконечнй цикл). Решил попробовать решить проблему кардинально, открыл файл startup.c, нашел там строчку
Код
#pragma weak USART1_IRQHandler = Default_Handler

(меня интересует прерывание модуля USART)
закомментировал ее, чтобы проверить корректно ли отрабатывается дериктива #pragma weak. Компилятор начал ргатся что отсутствует оприсание функии USART1_IRQHandler. Вообщем стало понятно почему уходить в бесконечный цикл.
Вот теперь вопрос: Почему компилятор(линкер) может некорректно отрабатывать?
Заранее спасибо за помощь.

PS. использую "ARM Sourcery Linux GCC C++ Linker"


Проблему решил. )

Лобавил OS_INTERRUPT перед определением обработчика и все получилос.

Сообщение отредактировал abutorin - Jan 13 2013, 17:20
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 13:02
Рейтинг@Mail.ru


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