Перейти к содержанию
    

Keil и C++

Начал осваивать Keil при помощи STM32F4-Discovery.

Версия Keil uVision 4.54.

Запустил штатный пример - мигалку светодиодами, все работает.

В меню Options for Target 'STM32F04' Flash \ C/C++ \

в поле Misc Controls дописываю '--cpp' (хочу работать только на C++)

мигать перестает. Размер кода и .map-файл для режима С и C++ совпадают полностью,

Посмотрел *.hex, оказалось отличается только вектор прерывания SysTick,

поэтому, разумеется, и не мигает.

Что я делаю не так?

Как правильно включить в Keil режим C++?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эту тему стоит закрепить в хедере раздела ARM.

Ну или составить FAQ по типичным граблям начинающего плюсатого, а можно и не плюсатого армовода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

extern "C" {    
    void EXTI1_IRQHandler(void) {
        EXTI_Handler_1();
        EXTI->PR |= EXTI_PR_PR1;
    }
}

 

код для STM32L1xx, для STM32F4 должно быть аналогично

Изменено пользователем IgorKossak
[codebox] для длинного кода, [code] - для короткого!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Позволю себе внести 3 правки в ваш вариант.

extern "C" void EXTI1_IRQHandler(void)
{
    EXTI->PR = EXTI_PR_PR1;
    EXTI_Handler_1();
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...