Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемы с C++
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Brain13
Доброго времени суток!

Пишу на arm-none-eabi для STM32. Использую startup код из примера в библиотеке от ST. Хочу реализовать modbus в виде класса. Если я пытаюсь использовать классы в обработчике прерываий, при компиляции вылезают ошибки. Я так понял что файл stm32f10x_it.c компилится с помошью компилятора С и с классами он не работает. Если переименовываю файл в stm32f10x_it.cpp, он компилится с помощью g++, ошибок нет. Но когда происходит прерывание проц уходит в DefaultHandler и зависает в бесконечном цикле. Если возвращаю имя файла на .c, убираю работу с классами, все компилится нормально, вызывается правильный обработчик прерывания.

Как прикрутить классы в обработчики прерываний?
Сергей Борщ
QUOTE (Brain13 @ Feb 15 2011, 09:30) *
Если переименовываю файл в stm32f10x_it.cpp, он компилится с помощью g++, ошибок нет. Но когда происходит прерывание проц уходит в DefaultHandler и зависает в бесконечном цикле.
Name mangling. Объявите ваш обработчик с квалификатором extern "C".
Brain13
Цитата(Сергей Борщ @ Feb 15 2011, 10:47) *
Name mangling. Объявите ваш обработчик с квалификатором extern "C".

Спасибо, помогло. 08.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.