STM32, IAR и прерывания
-
bishop-strip
- Открыл глаза
- Сообщения: 71
- Зарегистрирован: Чт окт 28, 2010 11:20:39
Re: STM32, IAR и прерывания
Всем привет еще раз! Начал делать другой проект, тоже в 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
Что делать?! в прошлом проекте всё работало как часы?!
Заранее спасибо!
Всё подключил, объявил и определил все нужные функции, подключил все файлы в т.ч. и 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 и прерывания
Вроде что-то было у меня похожее.
попробуйте так определить функцию
может поможет
и да, подключите всё же файлик один. Для STM32F100 например он такой stm32f10x_it.c Там есть функции-обработчики прерывания по умолчанию, которые могут быть полезны в определённые моменты.
попробуйте так определить функцию
Код: Выделить всё
extern "C"
{
void EXTI0_IRQHandler()
{
// Тело
}
}
может поможет
и да, подключите всё же файлик один. Для STM32F100 например он такой stm32f10x_it.c Там есть функции-обработчики прерывания по умолчанию, которые могут быть полезны в определённые моменты.
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
-
bishop-strip
- Открыл глаза
- Сообщения: 71
- Зарегистрирован: Чт окт 28, 2010 11:20:39
Re: STM32, IAR и прерывания
Chip115 писал(а):Вроде что-то было у меня похожее.
попробуйте так определить функциюКод: Выделить всё
extern "C"
{
void EXTI0_IRQHandler()
{
// Тело
}
}
может поможет
и да, подключите всё же файлик один. Для STM32F100 например он такой stm32f10x_it.c Там есть функции-обработчики прерывания по умолчанию, которые могут быть полезны в определённые моменты.
Спасибо за помощь! extern "C" помогло! Файлик STM32F4xx_it.c уже эти был подключен. ^)
Re: STM32, IAR и прерывания
bishop-strip писал(а):Спасибо за помощь! extern "C" помогло!
А зачем проект в плюсах делаем? Бездумно?
- amv2000
- Опытный кот
- Сообщения: 717
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: STM32, IAR и прерывания
Не знаю как расценивать молчание, или никто не знает, или знают но вопрос слишком прост, чтобы на него отвечать.
Будем отталкиваться от первого, решение нашел здесь http://microsin.ru/content/view/672/44/
Будем отталкиваться от первого, решение нашел здесь http://microsin.ru/content/view/672/44/
- Pavel_1978
- Опытный кот
- Сообщения: 830
- Зарегистрирован: Пт ноя 16, 2007 11:21:37
Re: STM32, IAR и прерывания
Спасибо за ссылку, тоже мучался. Все проекты были STEP и TEMPLATE, Keil в этом вопросе более демократичен.
Сейчас вообще перешел на EmBloks - так после IARa как небо и земля. Особенно учитывая стоимость IARa....
Сейчас вообще перешел на EmBloks - так после IARa как небо и земля. Особенно учитывая стоимость IARa....
Re: STM32, IAR и прерывания
Pavel_1978 писал(а): перешел на EmBloks - так после IARa как небо и земля.
Что именно?
О "удобствах" - подсветке, автодополнении - не надо ...
- Pavel_1978
- Опытный кот
- Сообщения: 830
- Зарегистрирован: Пт ноя 16, 2007 11:21:37
Re: STM32, IAR и прерывания
Для отладки там GDB используется...
Чем он хуже шпиена в ИАРе?
А вот то что не надо до каждого файла путь в свойствах проекта указывать это плюс. Общие файлы лежат в отдельной куче и не надо создавать их копию в каждом проекте.
Ну и главное покупать его не надо
Чем он хуже шпиена в ИАРе?
А вот то что не надо до каждого файла путь в свойствах проекта указывать это плюс. Общие файлы лежат в отдельной куче и не надо создавать их копию в каждом проекте.
Ну и главное покупать его не надо
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: STM32, IAR и прерывания
Тема о STM32, IAR и прерываниях, а не о сравнении IAR и EmBlocks. Оффтоп прошу прекратить.
Ставим плюсы: )
Re: STM32, IAR и прерывания
просьба помочь.
вот простенькая программка. прерывание не работает или работает некорректно.
вот простенькая программка. прерывание не работает или работает некорректно.
- Вложения
-
- main.c
- (2.85 КБ) 594 скачивания
- amv2000
- Опытный кот
- Сообщения: 717
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: STM32, IAR и прерывания
А это где так учат делать?kryvoruk писал(а):прерывание не работает или работает некорректно.
Код: Выделить всё
RCC_AHBENR_GPIOEEN+RCC_AHBENR_GPIOAENRe: STM32, IAR и прерывания
[/quote]А это где так учат делать?[/quote]
Где учат не знаю. Извините, что вопросом на вопрос, Но кто мешает одной командой установить несколько бит в регистре. В данном случае одновременно разрешить работу/тактирование нескольких портов. В данной программе скорость и размер кода не критичны, в других приложениях может помочь с уменьшением кода и увеличением быстродействия, хотя и не глобально конеШно.
Был бы Вам очень признательным, если бы смогли ответить на мои криворукие вопросы))
Код: Выделить всё
RCC_AHBENR_GPIOEEN+RCC_AHBENR_GPIOAENГде учат не знаю. Извините, что вопросом на вопрос, Но кто мешает одной командой установить несколько бит в регистре. В данном случае одновременно разрешить работу/тактирование нескольких портов. В данной программе скорость и размер кода не критичны, в других приложениях может помочь с уменьшением кода и увеличением быстродействия, хотя и не глобально конеШно.
Был бы Вам очень признательным, если бы смогли ответить на мои криворукие вопросы))
- GARMIN
- Держит паяльник хвостом
- Сообщения: 952
- Зарегистрирован: Вс дек 02, 2012 16:58:33
- Откуда: от туда
- Контактная информация:
Re: STM32, IAR и прерывания
kryvoruk писал(а):кто мешает одной командой установить несколько бит в регистре. В данном случае одновременно разрешить работу/тактирование нескольких портов.
Потому что вы не отличаете арифметическое сложение и логическое.
Правильно
RCC_AHBENR_GPIOEEN | RCC_AHBENR_GPIOAEN
Re: STM32, IAR и прерывания
GARMIN писал(а):Правильно
RCC_AHBENR_GPIOEEN | RCC_AHBENR_GPIOAEN
Да бросьте. Косяк в хидерах, в частности масок, я не встречал...поэтому пофигу. "+" даже как-то нагляднее.