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

 
 
> Можно ли в keil разбить #define на несколько строк ?
MiklPolikov
сообщение Sep 27 2013, 12:48
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Вопрос : есть ли способ в Keil записать такую строку

#define VOLTAGE_RANGE_1 {PWR->CR &=~ PWR_CR_VOS_1; PWR->CR |= PWR_CR_VOS_0;}

в виде двух

#define VOLTAGE_RANGE_1 {PWR->CR &=~ PWR_CR_VOS_1;
PWR->CR |= PWR_CR_VOS_0;}

?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Sep 27 2013, 19:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(ViKo @ Sep 27 2013, 21:55) *
А я иногда делаю так
Код
#define WDELAY_RESTART();        \
  TIM7->EGR = TIM_EGR_UG;        \
  TIM7->SR = 0;                \
  TIM7->CR1 |= TIM_CR1_CEN;

Не буду оппонировать "монстрам от программирования", но случаи "а если..." мне кажутся надуманными.

Чудовищно. В этом случае if(xxx) WDELAY_RESTART(); просто молча породит неправильный код.
Вам кажется надуманным использование оператора "if"?



Цитата(Allregia @ Sep 27 2013, 20:55) *
По моему, так понятнее, без do..while.

do {} while(0) - стандартная конструкция, она не должна быть непонятна в принципе.
Go to the top of the page
 
+Quote Post
Allregia
сообщение Sep 27 2013, 19:21
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(aaarrr @ Sep 27 2013, 21:14) *
do {} while(0) - стандартная конструкция, она не должна быть непонятна в принципе.


Да, но не в этом случае, и чем хуже инлайн?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 27 2013, 19:28
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Allregia @ Sep 27 2013, 23:21) *
Да, но не в этом случае, и чем хуже инлайн?

Почему не в этом случае?

Инлайн ничем не хуже, кроме того, что собственно встраивание не гарантируется. А если, например, нужно вернуть из блока значение, то без инлайна никак.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MiklPolikov   Можно ли в keil разбить #define на несколько строк ?   Sep 27 2013, 12:48
- - megajohn   Код#define VOLTAGE_RANGE_1 {\ PWR->CR ...   Sep 27 2013, 12:53
|- - MiklPolikov   Цитата(megajohn @ Sep 27 2013, 16:53) Код...   Sep 27 2013, 13:35
|- - Палыч   Цитата(MiklPolikov @ Sep 27 2013, 17:35) ...   Sep 27 2013, 14:48
|- - MiklPolikov   Цитата(Палыч @ Sep 27 2013, 18:48) Речь в...   Sep 27 2013, 14:56
- - MrYuran   и обязательно в скобках do{}while(0)   Sep 27 2013, 13:23
|- - A. Fig Lee   Цитата(MrYuran @ Sep 27 2013, 09:23) и об...   Sep 28 2013, 02:14
|- - Raven   Цитата(MrYuran @ Sep 27 2013, 17:23) и об...   Sep 28 2013, 05:41
- - Allregia   А почему не делать так: Код__INLINE void VOLTAGE_R...   Sep 27 2013, 16:55
- - ViKo   А я иногда делаю так Код#define WDELAY_RESTART...   Sep 27 2013, 17:55
|- - ViKo   Цитата(aaarrr @ Sep 27 2013, 22:14) Чудов...   Sep 27 2013, 19:34
|- - aaarrr   Цитата(ViKo @ Sep 27 2013, 23:34) В данно...   Sep 27 2013, 19:39
|- - ViKo   Цитата(aaarrr @ Sep 27 2013, 22:39) Тогда...   Sep 27 2013, 19:41
|- - aaarrr   Цитата(ViKo @ Sep 27 2013, 23:41) На то д...   Sep 27 2013, 19:44
|- - ViKo   Цитата(aaarrr @ Sep 27 2013, 22:44) Т.е. ...   Sep 27 2013, 19:54
|- - ViKo   Цитата(aaarrr @ Sep 27 2013, 22:44) Т.е. ...   Sep 27 2013, 20:04
|- - aaarrr   Цитата(ViKo @ Sep 28 2013, 00:04) Не всег...   Sep 27 2013, 20:09
- - aaarrr   "Логичнее"? А что ведет себя совсем инач...   Sep 27 2013, 20:01
|- - ViKo   Цитата(aaarrr @ Sep 27 2013, 23:01) ...   Sep 27 2013, 20:09
- - aaarrr   Этот "набор выражений" и ведет себя как ...   Sep 27 2013, 20:19
- - ViKo   Цитата(aaarrr @ Sep 27 2013, 23:19) Этот ...   Sep 27 2013, 20:29
- - aaarrr   Цитата(ViKo @ Sep 28 2013, 00:29) Да ну? ...   Sep 27 2013, 20:50
- - ViKo   Цитата(aaarrr @ Sep 27 2013, 23:50) Понят...   Sep 28 2013, 07:47
- - igorle   Цитата(ViKo @ Sep 28 2013, 10:47) Хорошо,...   Sep 28 2013, 08:44
|- - ViKo   Цитата(igorle @ Sep 28 2013, 11:44) Будет...   Sep 28 2013, 08:58
|- - igorle   Цитата(ViKo @ Sep 28 2013, 11:58) Точка с...   Sep 28 2013, 09:22
|- - ViKo   Цитата(igorle @ Sep 28 2013, 12:08) Такой...   Sep 28 2013, 09:34
|- - Ruslan1   Цитата(igorle @ Sep 28 2013, 12:22) Rusla...   Sep 28 2013, 11:08
||- - Flood   Цитата(Ruslan1 @ Sep 28 2013, 15:08) Это ...   Sep 28 2013, 11:50
||- - igorle   Поддерживаю предыдущего оратора. И еще. "фун...   Sep 28 2013, 15:38
||- - ViKo   Цитата(igorle @ Sep 28 2013, 18:38) Напри...   Sep 29 2013, 19:01
||- - Flood   Цитата(ViKo @ Sep 29 2013, 23:01) Что так...   Sep 29 2013, 20:03
|- - A. Fig Lee   Цитата(igorle @ Sep 28 2013, 05:22) А выв...   Sep 29 2013, 20:22
|- - aaarrr   Цитата(A. Fig Lee @ Sep 30 2013, 00:22) П...   Sep 29 2013, 20:56
|- - ig_z   QUOTE (A. Fig Lee @ Sep 29 2013, 23:22) Н...   Sep 29 2013, 21:16
- - Ruslan1   Прочитал все написанное но так и не понял почему т...   Sep 28 2013, 09:03


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

 


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


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