Easyelectronics.ru

Электроника для всех
Текущее время: 29 сен 2020, 03:58

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: РЕШЕНО Enum Как привязать пересляемые константы к переменной
СообщениеДобавлено: 11 май 2016, 21:35 
Старожил

Зарегистрирован: 25 фев 2011, 18:45
Сообщения: 3691
Откуда: Новосибирск
Как привязать перечисляемые константы к переменной, чтобы при использовании константы другой переменной, была ошибка компиляции?
Пример:
Код:
static u08 direction; // Направление.
static u08 motor_mode; // Режим двигателя.

static u08 _proc_motor; // Состояние.

enum direction
{
   DIRECTION_STOP = 0,
   DIRECTION_RIGHT,
   DIRECTION_LEFT,
};

enum motor_mode
{
   MOTOR_STOP = 0,
   MOTOR_ACCELERATION,
   MOTOR_RUN,
   MOTOR_BRAKING,
};

enum _proc_motor
{
   PROC_MOTOR_IDLE = 0,
   PROC_MOTOR_ACCELERATION_INIT,
   PROC_MOTOR_ACCELERATION,
   PROC_MOTOR_BRAKING_INIT,
   PROC_MOTOR_BRAKING,
};


Последний раз редактировалось demiurg1978 11 май 2016, 22:30, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Enum Как привязать пересляемые константы к переменной.
СообщениеДобавлено: 11 май 2016, 22:05 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 3569
Откуда: Китай, Пекин
никак. только средой програмирования. Visual Studio в последней версии с плагином Visual Assist

_________________
unirail.org


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Enum Как привязать пересляемые константы к переменной.
СообщениеДобавлено: 11 май 2016, 22:12 
Старожил

Зарегистрирован: 25 фев 2011, 18:45
Сообщения: 3691
Откуда: Новосибирск
cheblin писал(а):
никак. только средой програмирования. Visual Studio в последней версии с плагином Visual Assist

Йо-о-опт...
Сенкс.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Enum Как привязать пересляемые константы к переменной.
СообщениеДобавлено: 11 май 2016, 22:19 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2079
typedef enum {
choiceA = 0,
choiceB,
choiceC
} direction_t;

static direction_t direction = choiceC;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Enum Как привязать пересляемые константы к переменной.
СообщениеДобавлено: 11 май 2016, 22:28 
Старожил

Зарегистрирован: 25 фев 2011, 18:45
Сообщения: 3691
Откуда: Новосибирск
x893 писал(а):
...

Благодарствую! Варнинги появились. u08 я не убирал, потому не получил желаемое.
Тема закрыта.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Enum Как привязать пересляемые константы к переменной.
СообщениеДобавлено: 11 май 2016, 22:29 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 3569
Откуда: Китай, Пекин
Цитата:
static direction_t direction = choiceC;

и кто мне запретит
Код:
static direction_t direction = 666;

_________________
unirail.org


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Enum Как привязать пересляемые константы к переменной.
СообщениеДобавлено: 11 май 2016, 22:32 
Старожил

Зарегистрирован: 25 фев 2011, 18:45
Сообщения: 3691
Откуда: Новосибирск
cheblin писал(а):
...

обязательно эти цифры? коготок увяз, всей птичке пропасть...

На цифры, присваивание переменной выдает предупреждения.
Код:
                  motor_mode = DIRECTION_LEFT;
                  motor_mode = 77;
                  motor_mode = 0;

                  motor_mode = direction;

                  direction = DIRECTION_LEFT;
                  break;


Вложения:
enum.jpg
enum.jpg [ 158.5 Кб | Просмотров: 1760 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РЕШЕНО Enum Как привязать пересляемые константы к переменной
СообщениеДобавлено: 15 май 2016, 00:44 
Старожил
Аватара пользователя

Зарегистрирован: 24 июл 2012, 13:54
Сообщения: 856
Еще один вариант - использовать С++ и типизированный enum.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB