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

 
 
> Использование channel в разных модулях.
Вячик13
сообщение May 30 2012, 13:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 17-01-12
Пользователь №: 69 604



В главном модуле, где процессы, имеется объявление channel:

OS::channel<TKeyCode,16> KeyMsg;

В другом модуле имеется подпрограмма, которая пишет в канал:

KeyMsg.push(KeyEvent);

Как в этом модуле объявить внешний объект?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Nixon
сообщение May 30 2012, 13:35
Сообщение #2


Гуру
******

Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48



Не вижу препятствий! (с)

объявите во втором модуле:
extern OS::channel<TKeyCode,16> KeyMsg;


--------------------
Вам помочь или не мешать?
Go to the top of the page
 
+Quote Post
Вячик13
сообщение May 31 2012, 05:59
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 17-01-12
Пользователь №: 69 604



Цитата(Nixon @ May 30 2012, 16:35) *
Не вижу препятствий! (с)

объявите во втором модуле:
extern OS::channel<TKeyCode,16> KeyMsg;


Объявил.
Получил ошибку:

Error[Pe276]: name followed by "::" must be a class or namespace name F:\IARProjects\WeightTerminal\Src\Key.h 58

Инклуд определений OS имеется и стоит раньше объявления внешнего объекта.

#include <scmRTOS.h>

Это тоже не проходит:

extern class OS;

Получаю ошибку:

Error[Pe101]: "OS" has already been declared in the current scope (at line 63 of "F:\IARProjects\WeightTerminal\src\scmRTOS_TARGET_CFG.h") F:\IARProjects\WeightTerminal\Src\Key.h 58

Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 31 2012, 08:24
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Вячик13 @ May 31 2012, 08:59) *
Получил ошибку:
А тип TKeyCode в этом месте уже объявлен?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 13:17
Рейтинг@Mail.ru


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