Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IAR5.50.5 CM0 C++
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
igorenja
Доброе время суток!
Мучаю примерчик от IAR для LPC11C14. Программка примитивная, при включении контроллера записывает в уарт сообщение, потом заходит в главный цикл и оттуда выводит сообщение если обработчиком прерывания от таймера был поднят флажок. Если в опциях проекта стоит "язык С" всё работает нормально. Если ставлю С++ прерывания не работают. Сгенерил два map файла, смотрю и вижу что обработчика прерывания CT32B0_IRQHandler в плюсовом мап файле нет (вернее есть с нулевым размером)...
Чё делать дальше незнаю.

Всем заранее спасибо!
Сергей Борщ
Могу предположить, что его надо объявить с квалификатором extern "C"
igorenja
Цитата(Сергей Борщ @ Oct 9 2010, 04:16) *
Могу предположить, что его надо объявить с квалификатором extern "C"

Обработчик прерывания описан в том же файле что и main(). Компилируется соответственно вместе. Мне кажется это тут непичем...
Может быть этот квалификатор нужно указать для cstartup.s ?
GetSmart
Цитата(igorenja @ Oct 9 2010, 07:00) *
Может быть этот квалификатор нужно указать для cstartup.s ?

Нет.
Вы бы лучше сначала проверили.
sonycman
Цитата(igorenja @ Oct 9 2010, 06:00) *
Обработчик прерывания описан в том же файле что и main(). Компилируется соответственно вместе. Мне кажется это тут непичем...

Ну и что, что вместе?
Проблема не в main(), а в том, что из .asm файла не видно обработчик прерывания, если он объявлен в С++ файле.
Оберните объявление extern "C" {}.
igorenja
Цитата(sonycman @ Oct 9 2010, 11:04) *
Ну и что, что вместе?
Проблема не в main(), а в том, что из .asm файла не видно обработчик прерывания, если он объявлен в С++ файле.
Оберните объявление extern "C" {}.


Попробую. Вечером напишу результат.
Спасибо.
igorenja
Проверил, работает.

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