ОПИС
- typedef … hal_bool;
-
Тип, який може мати значення 0 або ненульове.
- typedef … hal_bit_t;
-
Volatile тип, який може мати значення 0 або відмінне від нуля.
- typedef … hal_s32_t;
-
Volatile тип, який може мати значення від -2147483648 до 2147483647.
- typedef … hal_u32_t;
-
Нестабільний тип, який може мати значення від 0 до 4294967295.
- typedef … hal_port_t;
-
Нестабільний дескриптор об’єкта порту. Використовується з функціями hal_port*.
- typedef … hal_float_t;
-
Нестабільний тип чисел з плаваючою комою, який зазвичай має таку ж точність і діапазон, як і тип double мови C.
- typedef … real_t;
-
Незалежний тип чисел з плаваючою комою, щонайменше з такою ж точністю, як hal_float_t.
- typedef … ireal_t;
-
Незалежний беззнаковий цілочисельний тип такого ж розміру, як hal_float_t.
- typedef enum hal_type_t;
-
- HAL_BIT
-
Відповідає типу hal_bit_t.
- HAL_FLOAT
-
Відповідає типу hal_float_t.
- HAL_S32
-
Відповідає типу hal_s32_t.
- HAL_U32
-
Відповідає типу hal_u32_t.
НОТАТКИ
hal_bit_t is typically a typedef to an integer type whose range is larger than just 0 and 1. When testing the value of a hal_bit_t, never compare it to 1. Prefer one of the following:
-
if(b)
-
if(b != 0)
Часто корисно посилатися на тип, який може представляти всі значення, як на тип HAL, але без кваліфікатора volatile. Наступні типи відповідають типам HAL:
- hal_bit_t
-
int
- hal_s32_t
-
__s32
- hal_u32_t
-
__u32
- hal_float_t
-
hal_real_t
- hal_port_t
-
int
Будьте обережні та не використовуйте типи s32 та u32. Вони компілюються в модулях ядра, але не в просторі користувача, а також не для компонентів реального часу під час використання uspace realtime.
ДИВІТЬСЯ ТАКОЖ
hal_pin_new(3), hal_param_new(3)