реклама на сайте
подробности

 
 
> Как сигналить из прерывания в scmRTOS?
_Макс
сообщение Apr 21 2010, 10:17
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Здравствуйте,

В main.cpp объявил свой экземпляр класса TEventFlag. Какой включить заголовочный файл в файл с обработчиками прерывания stm32f10x_it.c, чтобы компилятор не ругался на неизвестный идентификатор при попытке просигналить функцией SignalISR()?

Пробовал выносить объявление экземпляра TEventFlag в новый файл h и включать его в main.cpp и stm32f10x_it.c, ругается компоновщик на двойное определение в файлах компилятора.

Что я делаю не правильно? Какая правильно пользоватся заголовочными файлами, чтобы все работало?

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
baralgin
сообщение Apr 22 2010, 18:58
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 92
Регистрация: 23-12-08
Из: Кишинёв
Пользователь №: 42 680



Цитата(dxp @ Apr 22 2010, 16:08) *
Чтобы гарантировать, что объект за пределами данной единицы трансляции недоступен. Например, если есть библиотека в скомпилированном виде, то ничего не мешает, зная имена, получить к ним доступ, объявив их как extern. Еще для того, чтобы намеренно ограничить область видимости пространством имен данной единицы трансляции - например, в одном файле есть static int a, в другом тоже есть int a, глобальная. Это будут разные объекты.


Кстати вопрос на эту тему:
что предпочтительнее с точки зрения крастоты/правильности кода употреблять: non static object и extern где нужно или static но с геттером типа "(const) object* get()" ? (язык си имеется ввиду)
Способен ли умный компилятор подставлять реальный адрес объекта вместо вызова этого get?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Макс   Как сигналить из прерывания в scmRTOS?   Apr 21 2010, 10:17
- - AHTOXA   Создайте отдельный заголовочный файл, например, ma...   Apr 21 2010, 10:38
- - Сергей Борщ   Цитата(_Макс @ Apr 21 2010, 13:32) Что я ...   Apr 21 2010, 10:43
- - _Макс   Для чего используется extern? Моя проблема в том, ...   Apr 21 2010, 11:10
|- - dxp   Цитата(_Макс @ Apr 21 2010, 18:25) Для че...   Apr 21 2010, 11:43
|- - _Макс   Цитата(dxp @ Apr 21 2010, 14:58) А как бы...   Apr 21 2010, 18:12
|- - dxp   Цитата(_Макс @ Apr 22 2010, 01:27) Думал ...   Apr 22 2010, 02:23
- - _Макс   Действительно, это был пробел в моих знаниях. Что ...   Apr 22 2010, 10:05
|- - dxp   Цитата(_Макс @ Apr 22 2010, 17:20) Что оз...   Apr 22 2010, 11:04
- - _Макс   Вы правы. Прочитал вот это: ЦитатаСпецификатор sta...   Apr 22 2010, 12:07
|- - dxp   Цитата(_Макс @ Apr 22 2010, 19:22) Прочит...   Apr 22 2010, 12:53
- - _Макс   Спасибо!   Apr 22 2010, 14:10
|- - dxp   Цитата(baralgin @ Apr 23 2010, 02:13) что...   Apr 23 2010, 05:10
- - baralgin   Цитата(dxp @ Apr 23 2010, 08:25) А просто...   Apr 23 2010, 06:02
|- - dxp   Цитата(baralgin @ Apr 23 2010, 13:17) Ну ...   Apr 23 2010, 08:47
- - baralgin   Цитата(dxp @ Apr 23 2010, 12:02) Только э...   Apr 23 2010, 12:10


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 08:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.02709 секунд с 7
ELECTRONIX ©2004-2016