STM32, IAR и прерывания

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Открыл глаза
Сообщения: 71
Зарегистрирован: Чт окт 28, 2010 11:20:39

Сообщение bishop-strip »

Всем привет еще раз! Начал делать другой проект, тоже в IAR, тоже с STM32f4discovery, опять натолкнулся на проблему с прерываниями....
Всё подключил, объявил и определил все нужные функции, подключил все файлы в т.ч. и startup_stm32f40x.s, нажимаю кнопку и....
При отладке, программа не заходит обрабатывать прерывание в фунцию void EXTI0_IRQHandler()
а скачет по этим строкам в файле startup_stm32f40x.s:

EXTI0_IRQHandler
B EXTI0_IRQHandler <-----------------Вот тут...

PUBWEAK EXTI1_IRQHandler
SECTION .text:CODE:REORDER(1)
EXTI1_IRQHandler

Что делать?! в прошлом проекте всё работало как часы?!
Заранее спасибо!
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск

Сообщение Chip115 »

Вроде что-то было у меня похожее.
попробуйте так определить функцию

Код: Выделить всё

extern "C"
{
   void EXTI0_IRQHandler()
  {
     // Тело 
  }
}
может поможет

и да, подключите всё же файлик один. Для STM32F100 например он такой stm32f10x_it.c Там есть функции-обработчики прерывания по умолчанию, которые могут быть полезны в определённые моменты.
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Контактная информация:
Реклама
Открыл глаза
Сообщения: 71
Зарегистрирован: Чт окт 28, 2010 11:20:39

Сообщение bishop-strip »

Chip115 писал(а):Вроде что-то было у меня похожее.
попробуйте так определить функцию

Код: Выделить всё

extern "C"
{
   void EXTI0_IRQHandler()
  {
     // Тело 
  }
}
может поможет

и да, подключите всё же файлик один. Для STM32F100 например он такой stm32f10x_it.c Там есть функции-обработчики прерывания по умолчанию, которые могут быть полезны в определённые моменты.
Спасибо за помощь! extern "C" помогло! Файлик STM32F4xx_it.c уже эти был подключен. ^)
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

bishop-strip писал(а): Спасибо за помощь! extern "C" помогло!
А зачем проект в плюсах делаем? Бездумно?
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Аватара пользователя
Сообщения: 725
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

Кто знает как поменять имя проекта в IAR? Изображение
Имеется ввиду, что если это шаблон, то как изменить наименование проекта.
Реклама
Опытный кот
Аватара пользователя
Сообщения: 725
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

Не знаю как расценивать молчание, или никто не знает, или знают но вопрос слишком прост, чтобы на него отвечать.
Будем отталкиваться от первого, решение нашел здесь http://microsin.ru/content/view/672/44/
Реклама
Опытный кот
Аватара пользователя
Сообщения: 830
Зарегистрирован: Пт ноя 16, 2007 11:21:37

Сообщение Pavel_1978 »

Спасибо за ссылку, тоже мучался. Все проекты были STEP и TEMPLATE, Keil в этом вопросе более демократичен.
Сейчас вообще перешел на EmBloks - так после IARa как небо и земля. Особенно учитывая стоимость IARa....
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Pavel_1978 писал(а): перешел на EmBloks - так после IARa как небо и земля.
Что именно? :))) Учитывая что в гадюшниках наподобие EmBloks отладка никакая ...
О "удобствах" - подсветке, автодополнении - не надо ...
Опытный кот
Аватара пользователя
Сообщения: 830
Зарегистрирован: Пт ноя 16, 2007 11:21:37

Сообщение Pavel_1978 »

Для отладки там GDB используется...
Чем он хуже шпиена в ИАРе?

А вот то что не надо до каждого файла путь в свойствах проекта указывать это плюс. Общие файлы лежат в отдельной куче и не надо создавать их копию в каждом проекте.
Ну и главное покупать его не надо
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Тема о STM32, IAR и прерываниях, а не о сравнении IAR и EmBlocks. Оффтоп прошу прекратить.
Ставим плюсы: )
Родился
Сообщения: 10
Зарегистрирован: Пт июл 17, 2015 17:58:34

Сообщение kryvoruk »

просьба помочь.
вот простенькая программка. прерывание не работает или работает некорректно.
Вложения
main.c
(2.85 КБ) 596 скачиваний
Опытный кот
Аватара пользователя
Сообщения: 725
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

kryvoruk писал(а):прерывание не работает или работает некорректно.
А это где так учат делать?

Код: Выделить всё

RCC_AHBENR_GPIOEEN+RCC_AHBENR_GPIOAEN
Родился
Сообщения: 10
Зарегистрирован: Пт июл 17, 2015 17:58:34

Сообщение kryvoruk »

[/quote]А это где так учат делать?

Код: Выделить всё

RCC_AHBENR_GPIOEEN+RCC_AHBENR_GPIOAEN
[/quote]

Где учат не знаю. Извините, что вопросом на вопрос, Но кто мешает одной командой установить несколько бит в регистре. В данном случае одновременно разрешить работу/тактирование нескольких портов. В данной программе скорость и размер кода не критичны, в других приложениях может помочь с уменьшением кода и увеличением быстродействия, хотя и не глобально конеШно.
Был бы Вам очень признательным, если бы смогли ответить на мои криворукие вопросы))
Держит паяльник хвостом
Аватара пользователя
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда

Сообщение GARMIN »

kryvoruk писал(а):кто мешает одной командой установить несколько бит в регистре. В данном случае одновременно разрешить работу/тактирование нескольких портов.
Потому что вы не отличаете арифметическое сложение и логическое.
Правильно
RCC_AHBENR_GPIOEEN | RCC_AHBENR_GPIOAEN
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 848
Зарегистрирован: Ср мар 02, 2011 07:47:39
Откуда: Уфа

Сообщение Psych »

GARMIN писал(а): Правильно
RCC_AHBENR_GPIOEEN | RCC_AHBENR_GPIOAEN
Да бросьте. Косяк в хидерах, в частности масок, я не встречал...поэтому пофигу. "+" даже как-то нагляднее.
Ответить

Вернуться в «ARM»