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

 
 
> Вопрос по си для at91sam
sergey sva
сообщение Dec 23 2008, 14:25
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



объясните пожалуйста как это работает :
#define P_EP(n) ((USB_EP_EVENT & (1 << (n))) ? USB_EndPoint##n : NULL)
что такой #define знаю, а вот в первый раз увидел, знак вопроса и вот такую конструкцию :
USB_EndPoint##n : что означает ## и :
И как это будет работать pUDP->UDP_GLBSTATE &= ~AT91C_UDP_FADDEN; вот этот знак ~
Еще не совсем понимаю как вызывается функция ,которая имеет модификатор _inline.
функция с этим модификатором помещается по адресу в флэш, а когда она будет выполнятся ?
и как узнать где она располагается ? Вопросы простые, но если не затруднит объясните пожалуйста.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
xelax
сообщение Dec 23 2008, 14:41
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Цитата(sergey sva @ Dec 23 2008, 17:25) *
объясните пожалуйста как это работает :
#define P_EP(n) ((USB_EP_EVENT & (1 << (n))) ? USB_EndPoint##n : NULL)
что такой #define знаю, а вот в первый раз увидел, знак вопроса и вот такую конструкцию :
USB_EndPoint##n : что означает ## и :


? : ; это тернарный оператор. Своими словами объяснять не буду, проще любую книгу по С открыть.

## это для текстовой прекомпиляции, позволяет из левой и правой части, составить единый текстовый символ для компилятора.

Цитата(sergey sva @ Dec 23 2008, 17:25) *
И как это будет работать pUDP->UDP_GLBSTATE &= ~AT91C_UDP_FADDEN; вот этот знак ~


~ побитовая инверсия

Цитата(sergey sva @ Dec 23 2008, 17:25) *
Еще не совсем понимаю как вызывается функция ,которая имеет модификатор _inline.
функция с этим модификатором помещается по адресу в флэш, а когда она будет выполнятся ?
и как узнать где она располагается ? Вопросы простые, но если не затруднит объясните пожалуйста.


Тела Inline функций вставляются в места вызова этих функций.

ИМХО все вопросы к арму не имеют никакого отношения. Чистый С.
Прежде чем приступать к написанию кода не важно под какую платформу, лучше почитайте какую-нибудь книгу по Сям.
Других вариантов нет.
Go to the top of the page
 
+Quote Post



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

 


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


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