Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
IAR 6.21 под stm32. Никак не получается правильно описать прерывание. Киньте, пожалуйста, любой (IAR 6.21 под stm32) пример.
Отправлено
Юрий_СВ
(213.5.199.158)
07 декабря 2011, г. 11:11
#include <st/iostm32f100xB.h>
__irq void USART1_IRQHandler(void)
{
USART1_CR1 |=0x23;
}
Проект на обычном Си.
Компилируется, но в таблице не появляется.
Таблица, почему-то, только на исключения (без IRQ) - последний вектор на 0x3c
Составить ответ
|
Вернуться на конференцию
Ответы
__irq не надо.(+)
-
F8
(619 байт, 07.12.2011, 13:23:58
193.254.233.230
)
Спасибо! Нашёл какой-то startup_stm32f10x_md_vl.s. Появилась полная таблица прерываний, подключился обработчик.
-
Юрий_СВ
(
пустое
, 07.12.2011, 19:24:38
213.5.199.158
)
зачем стартап портить, обработчик же объявлен как weak. просто в самом проекте назвать обработчик соотв. USART1_IRQHandler
-
Атмег
(
пустое
, 07.12.2011, 14:10:14
83.136.246.18
)
Да, так и сделал. Имя обработчика оставил из startup_stm32f10x_md_vl.s. (USART1_IRQHandler) Всё в порядке.
-
Юрий_СВ
(
пустое
, 07.12.2011, 19:26:0
213.5.199.158
)
В смысле портить? Я в каждый проект отдельный startup включаю.
-
F8
(
пустое
, 07.12.2011, 14:51:59
193.254.233.230
)
Кстати плюсы хороший довод в пользу ''порчи'' стартапа. Если переобзову обработчики и забуду про extern С то получу ошибку при линковке, в противном случае все будет молча сьедено, только работать не будет.
-
F8
(
пустое
, 07.12.2011, 15:03:6
193.254.233.230
)
PS в stm из-за отсутствия fifo в uart-е лучше использовать dma и соответственно прерывания соотв каналов dma.
-
F8
(
пустое
, 07.12.2011, 13:29:31
193.254.233.230
)
УСАПП пока только для примера, чтобы разобраться с прерываниями. Задача увидеть в окне "Disassembly" то, что задумано в исходниках.
-
Юрий_СВ
(
пустое
, 07.12.2011, 18:48:22
213.5.199.158
)
Там дизассемблере сам код-то не поймешь :)
-
Юра
(
пустое
, 07.12.2011, 18:54:42
95.165.9.107
)
И еще, если на плюсах пишите то не забудьте обработчик в extern "C" {} завернуть.
-
F8
(
пустое
, 07.12.2011, 14:54:30
193.254.233.230
)
Без плюсов.
-
Юрий_СВ
(
пустое
, 07.12.2011, 18:48:51
213.5.199.158
)
В наставлениях по переходу на stm32 говорят о cstartup.o... Но где его взять и куда деть?...
-
Юрий_СВ
(178 байт, 07.12.2011, 11:25:6
213.5.199.158
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 90:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru