Страница 3 из 3

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

Добавлено: Вт апр 22, 2014 22:41:08
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

Что делать?! в прошлом проекте всё работало как часы?!
Заранее спасибо!

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

Добавлено: Ср апр 23, 2014 19:09:08
Chip115
Вроде что-то было у меня похожее.
попробуйте так определить функцию

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

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

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

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

Добавлено: Ср апр 23, 2014 22:14:54
bishop-strip
Chip115 писал(а):Вроде что-то было у меня похожее.
попробуйте так определить функцию

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

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

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

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

Добавлено: Чт апр 24, 2014 10:04:38
dosikus
bishop-strip писал(а): Спасибо за помощь! extern "C" помогло!
А зачем проект в плюсах делаем? Бездумно?

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

Добавлено: Пн июн 23, 2014 15:22:23
amv2000
Кто знает как поменять имя проекта в IAR? Изображение
Имеется ввиду, что если это шаблон, то как изменить наименование проекта.

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

Добавлено: Вт июн 24, 2014 19:54:24
amv2000
Не знаю как расценивать молчание, или никто не знает, или знают но вопрос слишком прост, чтобы на него отвечать.
Будем отталкиваться от первого, решение нашел здесь http://microsin.ru/content/view/672/44/

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

Добавлено: Ср июн 25, 2014 09:04:58
Pavel_1978
Спасибо за ссылку, тоже мучался. Все проекты были STEP и TEMPLATE, Keil в этом вопросе более демократичен.
Сейчас вообще перешел на EmBloks - так после IARa как небо и земля. Особенно учитывая стоимость IARa....

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

Добавлено: Ср июн 25, 2014 15:31:20
dosikus
Pavel_1978 писал(а): перешел на EmBloks - так после IARa как небо и земля.
Что именно? :))) Учитывая что в гадюшниках наподобие EmBloks отладка никакая ...
О "удобствах" - подсветке, автодополнении - не надо ...

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

Добавлено: Чт июн 26, 2014 11:03:02
Pavel_1978
Для отладки там GDB используется...
Чем он хуже шпиена в ИАРе?

А вот то что не надо до каждого файла путь в свойствах проекта указывать это плюс. Общие файлы лежат в отдельной куче и не надо создавать их копию в каждом проекте.
Ну и главное покупать его не надо

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

Добавлено: Чт июн 26, 2014 11:07:29
ibiza11
Тема о STM32, IAR и прерываниях, а не о сравнении IAR и EmBlocks. Оффтоп прошу прекратить.

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

Добавлено: Сб июл 18, 2015 08:21:21
kryvoruk
просьба помочь.
вот простенькая программка. прерывание не работает или работает некорректно.

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

Добавлено: Сб июл 18, 2015 22:37:10
amv2000
kryvoruk писал(а):прерывание не работает или работает некорректно.
А это где так учат делать?

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

RCC_AHBENR_GPIOEEN+RCC_AHBENR_GPIOAEN

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

Добавлено: Вс июл 19, 2015 08:56:43
kryvoruk
[/quote]А это где так учат делать?

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

RCC_AHBENR_GPIOEEN+RCC_AHBENR_GPIOAEN
[/quote]

Где учат не знаю. Извините, что вопросом на вопрос, Но кто мешает одной командой установить несколько бит в регистре. В данном случае одновременно разрешить работу/тактирование нескольких портов. В данной программе скорость и размер кода не критичны, в других приложениях может помочь с уменьшением кода и увеличением быстродействия, хотя и не глобально конеШно.
Был бы Вам очень признательным, если бы смогли ответить на мои криворукие вопросы))

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

Добавлено: Ср июл 29, 2015 06:22:51
GARMIN
kryvoruk писал(а):кто мешает одной командой установить несколько бит в регистре. В данном случае одновременно разрешить работу/тактирование нескольких портов.
Потому что вы не отличаете арифметическое сложение и логическое.
Правильно
RCC_AHBENR_GPIOEEN | RCC_AHBENR_GPIOAEN

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

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