LinuxCNC Documentation

ОПИС

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)