Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Keil и C++
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Sidoroff
Начал осваивать Keil при помощи STM32F4-Discovery.
Версия Keil uVision 4.54.
Запустил штатный пример - мигалку светодиодами, все работает.
В меню Options for Target 'STM32F04' Flash \ C/C++ \
в поле Misc Controls дописываю '--cpp' (хочу работать только на C++)
мигать перестает. Размер кода и .map-файл для режима С и C++ совпадают полностью,
Посмотрел *.hex, оказалось отличается только вектор прерывания SysTick,
поэтому, разумеется, и не мигает.
Что я делаю не так?
Как правильно включить в Keil режим C++?
Lotor
Гуглите по этому форуму ключевую фразу: extern "C"
Sidoroff
Как связано extern "C" и неработающие прерывания?
Можно поточнее подсказки?
Tahoe
Цитата(Sidoroff @ Apr 9 2013, 14:14) *
Можно поточнее подсказки?

Да куда уж точнее?
demiurg_spb
Эту тему стоит закрепить в хедере раздела ARM.
Ну или составить FAQ по типичным граблям начинающего плюсатого, а можно и не плюсатого армовода.
SChe
Код
extern "C" {    
    void EXTI1_IRQHandler(void) {
        EXTI_Handler_1();
        EXTI->PR |= EXTI_PR_PR1;
    }
}


код для STM32L1xx, для STM32F4 должно быть аналогично
demiurg_spb
Цитата(SChe @ Apr 9 2013, 17:18) *
Позволю себе внести 3 правки в ваш вариант.
Код
extern "C" void EXTI1_IRQHandler(void)
{
    EXTI->PR = EXTI_PR_PR1;
    EXTI_Handler_1();
}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.