📄 lin_def.h
字号:
#ifdef LIN_API_GLOBALS
#define LIN_API_EXT
#else
#define LIN_API_EXT extern
#endif
/*--- type definition ---*/
typedef enum { NO_ERROR,BIT_ERROR,ID_PARITY_ERROR,CHECKSUM_ERROR,
NO_ID_MATCH,TIMEOUT_ERROR,DATA_RECEIVED,DATA_REQUEST,
WAKE_UP,UART_ERROR,SYNCH_BREAK_ERROR}t_error;
typedef enum {ID_DATAREQUEST,ID_DATASENT}t_message_direction;
typedef struct{
l_u8 id;
t_message_direction dir;
l_u8 length;} t_id_list;
typedef struct{
t_error error_code;
l_u8 data_byte;} t_one_databyte_output;
typedef struct
{
l_u8 identifier;
l_u8 length;} t_header;
typedef struct
{
l_u8 DATA[8];
l_u8 checksum;} t_response;
#define l_signal_handle t_id_list
#define l_flag_handle l_u8
#define l_schedule_handle l_u8
/************************************************
**描述:
**l_sys_init执行LIN软件的初始化。
**返回值:
**"0":如果成功初始化。
**"非零":初始化失败。
**注意:
**用户在LIN软件中使用任何其他API函数前必须首先调用l_sys_init函数。
************************************************/
LIN_API_EXT l_bool l_sys_init(void);
/*************************************************
**其中SSS是信号的名字(例如:l_u8_rd_EngineSpeed())
**读和返回名字是sss的信号的当前值。
*************************************************/
//动态
LIN_API_EXT l_bool l_bool_rd(l_signal_handle sss);
LIN_API_EXT l_u8 l_u8_rd(l_signal_handle sss);
LIN_API_EXT l_u16 l_u16_rd(l_signal_handle sss);
LIN_API_EXT void l_u8_ptr_rd(l_signal_handle sss,l_u8 * rd_ptr,l_u8 num);
//静态
LIN_API_EXT l_bool l_bool_rd_sss(l_signal_handle sss);
LIN_API_EXT l_u8 l_u8_rd_sss(l_signal_handle sss);
LIN_API_EXT l_u16 l_u16_rd_sss(l_signal_handle sss);
/*************************************************
**其中SSS是信号的名字(例如:l_u8_wr_EngineSpeed(v))
**将名字是sss的信号的当前值设置成v。
*************************************************/
//动态
LIN_API_EXT void l_bool_wr(l_signal_handle sss,l_bool v);
LIN_API_EXT void l_u8_wr(l_signal_handle sss,l_u8 v);
LIN_API_EXT void l_u16_wr(l_signal_handle sss,l_u16 v);
LIN_API_EXT void l_u8_ptr_wr(l_signal_handle sss,l_u8 *wr_ptr);
//静态
LIN_API_EXT void l_bool_wr_sss(l_bool v);
LIN_API_EXT void l_u8_wr_sss(l_u8 v);
LIN_API_EXT void l_u16_wr_sss(l_u16 v);
/*************************************************
**其中fff是标志的名字(例如:l_flg_tet_RxEngineSpeed())
**返回值是C的布尔类型,表示由名字fff指定的标志的当前状态(即返回0,否则返回非0值)。
*************************************************/
//动态
LIN_API_EXT l_bool l_flg_tst(l_flag_handle fff);
//静态
LIN_API_EXT l_bool l_flg_tst_fff(void);
LIN_API_EXT l_bool l_flg_tst_5ms(void);
LIN_API_EXT l_bool l_flg_tst_932led(void);
/*************************************************
**其中fff是标志的名字(例如:l_flg_clr_RxEngineSpeed())
**将名字是fff的标志的当前值置零。
*************************************************/
//动态
LIN_API_EXT void l_flg_clr(l_flag_handle fff);
//静态
LIN_API_EXT void l_flg_clr_fff(void);
LIN_API_EXT void l_flg_clr_5ms(void);
LIN_API_EXT void l_flg_clr_932led(void);
LIN_API_EXT void l_ifc_init_932led(void);
LIN_API_EXT l_bool l_ifc_connect_932led(void);
LIN_API_EXT void l_sch_set_932led(l_schedule_handle sch,l_u8 ent);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -