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

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

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

Сообщение 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

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

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

Сообщение Chip115 »

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

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

extern "C"
{
   void EXTI0_IRQHandler()
  {
     // Тело
  }
}

может поможет

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

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

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

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

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

extern "C"
{
   void EXTI0_IRQHandler()
  {
     // Тело
  }
}

может поможет

и да, подключите всё же файлик один. Для STM32F100 например он такой stm32f10x_it.c Там есть функции-обработчики прерывания по умолчанию, которые могут быть полезны в определённые моменты.

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

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

Сообщение dosikus »

bishop-strip писал(а):Спасибо за помощь! extern "C" помогло!


А зачем проект в плюсах делаем? Бездумно?
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

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

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

Сообщение amv2000 »

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

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

Сообщение Pavel_1978 »

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

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

Сообщение dosikus »

Pavel_1978 писал(а): перешел на EmBloks - так после IARa как небо и земля.


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

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

Сообщение Pavel_1978 »

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

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

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

Сообщение ibiza11 »

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

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

Сообщение kryvoruk »

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

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

Сообщение amv2000 »

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

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

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

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

Сообщение kryvoruk »

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

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

RCC_AHBENR_GPIOEEN+RCC_AHBENR_GPIOAEN
[/quote]

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

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

Сообщение GARMIN »

kryvoruk писал(а):кто мешает одной командой установить несколько бит в регистре. В данном случае одновременно разрешить работу/тактирование нескольких портов.

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

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

Сообщение Psych »

GARMIN писал(а):Правильно
RCC_AHBENR_GPIOEEN | RCC_AHBENR_GPIOAEN

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

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