Цитата(DASM @ May 21 2013, 17:04)

Для таких "использований" enum (читай - подверженных ошибкам самого разного рода) enum не нужен вообще, лучше уж define , а еще лучще набор
const int uno = 0, dos = 1, tres = 2, quatro = 3 использовать
" альтернативные функции для STM32" я так и подумал что ноги оттуда растут - совершенно мерзкий стиль, макросы многократной вложенности чтобы дернуть ногой. Перебрали они явно
Не, ноги не оттуда.

Альтернативные функции я, действительно, задаю по-своему. От так:
CODE
//! GPIO Alternate Functions
typedef enum {
AF_SYSTEM, //!< AF0 - SYSTEM*
AF_TIM1, //!< AF1 - TIM1/2
AF_TIM2 = 1, //!< AF1 - TIM1/2
AF_TIM3, //!< AF2 - TIM3/4/5
AF_TIM4 = 2, //!< AF2 - TIM3/4/5
AF_TIM5 = 2, //!< AF2 - TIM3/4/5
AF_TIM8, //!< AF3 - TIM9/10/11
AF_TIM9 = 3, //!< AF3 - TIM9/10/11
AF_TIM10 = 3, //!< AF3 - TIM9/10/11
AF_TIM11 = 3, //!< AF3 - TIM9/10/11
AF_I2C1, //!< AF4 - I2C1/2/3
AF_I2C2 = 4, //!< AF4 - I2C1/2/3
AF_I2C3 = 4, //!< AF4 - I2C1/2/3
AF_SPI1, //!< AF5 - SPI1/2
AF_SPI2 = 5, //!< AF5 - SPI1/2
AF_SPI3, //!< AF6 - SPI3
AF_USART1, //!< AF7 - USART1/2/3
AF_USART2 = 7, //!< AF7 - USART1/2/3
AF_USART3 = 7, //!< AF7 - USART1/2/3
AF_USART4, //!< AF8 - USART4/5/6
AF_USART5 = 8, //!< AF8 - USART4/5/6
AF_USART6 = 8, //!< AF8 - USART4/5/6
AF_CAN1, //!< AF9 - CAN1/2
AF_CAN2 = 9, //!< AF9 - CAN1/2
AF_TIM12 = 9, //!< AF9 - TIM12/13/14
AF_TIM13 = 9, //!< AF9 - TIM12/13/14
AF_TIM14 = 9, //!< AF9 - TIM12/13/14
AF_OTGFS, //!< AF10 - OTGFS
AF_OTGHS = 10, //!< AF10 - OTGHS
AF_ETH, //!< AF11 - ETH
AF_FSMC, //!< AF12 - FSMC
AF_SDIO = 12, //!< AF12 - SDIO
AF_OTGHS_ = 12, //!< AF12 - OTGHS
AF_DCMI, //!< AF13 - DCMI
AF_AF14, //!< AF14 - RI
AF_EVENT //!< AF15 - SYSTEM (EVENTOUT)
} GPIO_AFLH_t;
В данной же теме я просто по крутелке-энкодеру переключаю нужные мне режимы работы прибора, в описанных в перечислении пределах. Типа такого:
Код
int32_t par = (int32_t)MeasCtrl.Par2;
par += Cnt; // параметр увеличен в 4 раза!
if (par < 0) par = 0;
if (par > PAR_AVR << 2) par = PAR_AVR << 2;
MeasCtrl.Par2 = par;
P.S. дык, перечисление и есть набор констант