BESCHREIBUNG
- typedef … hal_bool;
-
Ein Typ, der einen Wert von 0 oder ungleich Null haben kann.
- typedef … hal_bit_t;
-
Ein flüchtiger (volatile, d.h. eine Speicherstelle, die nicht nur durch laufende Programm verändert wird) Typ, der einen Wert von 0 oder ungleich Null haben kann.
- typedef … hal_s32_t;
-
Ein flüchtiger (engl. volatile) Typ, der einen Wert von -2147483648 bis 2147483647 haben kann.
- typedef … hal_u32_t;
-
Ein flüchtiger Typ, der einen Wert zwischen 0 und 4294967295 haben kann.
- typedef … hal_port_t;
-
Ein flüchtiger Handle zu einem Port-Objekt. Wird mit hal_port* Funktionen verwendet.
- typedef … hal_float_t;
-
Ein flüchtiger Gleitkommatyp, der in der Regel die gleiche Genauigkeit und den gleichen Bereich wie der C-Typ double hat.
- typedef … real_t;
-
Ein nichtflüchtiger Gleitkommatyp mit mindestens der gleichen Genauigkeit wie hal_float_t.
- typedef … ireal_t;
-
Ein nichtflüchtiger, vorzeichenloser Integraltyp mit der gleichen Größe wie hal_float_t.
- typedef enum hal_type_t;
-
- HAL_BIT
-
Entspricht dem Typ hal_bit_t.
- HAL_FLOAT
-
Entspricht dem Typ hal_float_t.
- HAL_S32
-
Entspricht dem Typ hal_s32_t.
- HAL_U32
-
Entspricht dem Typ hal_u32_t.
ANMERKUNGEN
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)
Oft ist es sinnvoll, auf einen Typ zu verweisen, der alle Werte wie ein HAL-Typ darstellen kann, jedoch ohne den Qualifier volatile. Die folgenden Typen entsprechen den HAL-Typen:
- hal_bit_t
-
int
- hal_s32_t
-
__s32
- hal_u32_t
-
__u32
- hal_float_t
-
hal_real_t
- hal_port_t
-
int
Achten Sie darauf, die Typen s32 und u32 nicht zu verwenden. Diese werden in Kernel-Modulen kompiliert, aber nicht im Userspace, und nicht für Echtzeitkomponenten, wenn sie den Uspace Realtime verwenden.
SIEHE AUCH
hal_pin_new(3), hal_param_new(3)