ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
6 февраля
1569005 Топик полностью
Nikolay_Po (Вчера, 18:18, просмотров: 46) ответил abivan на ну то есть возврат ошибки и валидного значения оставил совмещенным.
Я такие вещи энумераторами делаю, типа: 
typedef enum {
DInFailure = 0,
DInLow,
DInHigh
} DigitalInputState_t;


И потом со всеми состояниями работаю исключительно через нумератор. Компилятору несложно нулевое значение нумератора - ошибка. Если не нулевое, значит, ОК, а состояние - во втором бите. Ну и не забыть птичку у компилятора поставить, чтобы разрешить вместо стандартного целого значения, использовать минимально-достаточный размер переменных.