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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Вложенные прерывания, GCC и ARM7
GetSmart
сообщение Mar 12 2010, 05:50
Сообщение #31


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Novichok1)
Но в любом случае, мне не совсем понятна нужность вот этого кода:

Если статическая функция класса при вызове не имеет параметра экземпляра класса и отличается только областью видимости полей класса, то единственное отличие - вызов функции класса с конкретным экземпляром, то есть не статической. Это же самое можно делать из статической функции, то есть вызывать другие функции для конкретных экземпляров. Но лично у меня возникает вопрос - с чего бы это только для отработки прерывания я должен создавать статическую функцию? При отработке прерываний как в чистом Си, так и в С++ у меня не возникает вопроса при создании обработчика в виде обычной голой функции. Причём обычно двух, чтобы не вставать на грабли компилятора. В самом минимальном варианте, одна глобальная функция, вызывающая функцию конкретного экземпляра. Никакого оверхеда, кроме минимального для обхода граблей.

Цитата
А код я бы по другому сделал, например что-то типа:

Так делать не рекомендовал бы, без обёртки из глобальной функции, на худой конец пустой (чисто с прологом и эпилогом, но без выдления локальных переменных) стической функции класса.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Aurochs
сообщение Mar 13 2010, 18:30
Сообщение #32


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Цитата(GetSmart @ Mar 12 2010, 07:50) *
Так делать не рекомендовал бы, без обёртки из глобальной функции, на худой конец пустой (чисто с прологом и эпилогом, но без выдления локальных переменных) стической функции класса.

+1
IMHO действительно оптимальный вариант для обработчика - глобальная функция, из которой вызывается НЕСТАТИЧЕСКАЯ функция-элемент для глобального объекта. Еще доводы в пользу такого решения:
1) Методологический. Все-таки и источник прерываний и периферийный узел процессора - вещи по сути своей глобальные.
2) Практический. Можно легко "наворачивать" обработчики сразу для нескольких периферийных узлов, каждый их которых будет задаваться глобальным экземпляром своего класса.
Go to the top of the page
 
+Quote Post

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

 


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


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