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

 
 
> Static в IAR AVR C++, помогите разобраться
IEC
сообщение Apr 10 2006, 08:32
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 22-03-05
Из: г. Харьков, Украина
Пользователь №: 3 598



Есть класс:

class TOS {
char Stack[14]; // стек регистров
static FuncExec func_Time[COUNT_MULTI];// адреса обработчиков тайм-аута

public:
BYTE ID;
TOS(){}
static void Manadger(void); // запуск менеджера файлов
__task void PUSH(void);
};

Вопрос:
1. Как заставить статический объект класса работать не только со статическими элементами класса.
2. Я обнаружил, что перед вызовом объекта a.PUSH() компилятор(??) в регистры R16:R17 загоняет ссылку на класс а! Как в функции можно это использовать, если функция написана на C++?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
IEC
сообщение Apr 10 2006, 13:45
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 22-03-05
Из: г. Харьков, Украина
Пользователь №: 3 598



Например: класс работы с УАПП, для каждого экземпляра класса свой буфер обмена, а флаг занятости дайвера и процедуры приема и передачи общие для всех экземпляров.
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 10 2006, 22:47
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(IEC @ Apr 10 2006, 16:45) *
Например: класс работы с УАПП, для каждого экземпляра класса свой буфер обмена, а флаг занятости дайвера и процедуры приема и передачи общие для всех экземпляров.

Непонятна суть такой организации.

Сделайте один class и заведите один или несколько, взависимости от наличия железа, статических экземпляров этого класса для обработки непосредственно каждого из УАППа/ов. Соответсвенно поля экземляров этого класса для каждого УАППа будут свои, включая вх/вых FIFO, флаги и пр., и никакой надобности в статических методах не возникнет.

Сделайте также еще один класс для обеспечения транспортного уровня. Задачей этого класса может быть - связь с одним из экземпляров предыдущего класса и выделение конкретного потока данных с размещением в буфере.

Оба класса не требуют наличия статических методов.
Go to the top of the page
 
+Quote Post



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

 


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


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