標籤:
RTT常用資料類型定義在rtdef.h中
/* RT-Thread basic data type definitions */typedef signed char rt_int8_t; /**< 8bit integer type */typedef signed short rt_int16_t; /**< 16bit integer type */typedef signed long rt_int32_t; /**< 32bit integer type */typedef unsigned char rt_uint8_t; /**< 8bit unsigned integer type */typedef unsigned short rt_uint16_t; /**< 16bit unsigned integer type */typedef unsigned long rt_uint32_t; /**< 32bit unsigned integer type */typedef int rt_bool_t; /**< boolean type *//* 32bit CPU */typedef long rt_base_t; /**< Nbit CPU related date type */typedef unsigned long rt_ubase_t; /**< Nbit unsigned CPU related data type */typedef rt_base_t rt_err_t; /**< Type for error number */typedef rt_uint32_t rt_time_t; /**< Type for time stamp */typedef rt_uint32_t rt_tick_t; /**< Type for tick count */typedef rt_base_t rt_flag_t; /**< Type for flags */typedef rt_ubase_t rt_size_t; /**< Type for size number */typedef rt_ubase_t rt_dev_t; /**< Type for device */typedef rt_base_t rt_off_t; /**< Type for offset *//* boolean type definitions */#define RT_TRUE 1 /**< boolean true */#define RT_FALSE 0 /**< boolean fails */
/* RT-Thread error code definitions */#define RT_EOK 0 /**< There is no error */#define RT_ERROR 1 /**< A generic error happens */#define RT_ETIMEOUT 2 /**< Timed out */#define RT_EFULL 3 /**< The resource is full */#define RT_EEMPTY 4 /**< The resource is empty */#define RT_ENOMEM 5 /**< No memory */#define RT_ENOSYS 6 /**< No system */#define RT_EBUSY 7 /**< Busy */#define RT_EIO 8 /**< IO error */
現在感覺問題:類型帶_t,容易與後續指標混淆,定義的後續實體變數指標都帶_t,如:
typedef struct rt_device *rt_device_t;
RTT常用資料類型