can_lib.h

来自「AVR开发板 C实现 液晶 can总线控制及其他外围电路源代码」· C头文件 代码 · 共 83 行

H
83
字号
#ifndef _CAN_LIB_H_
#define _CAN_LIB_H_

#include "can_drv.h"

// ----------
#define CAN_CMD_REFUSED  0xFF
// ----------
#define CAN_CMD_ACCEPTED         0x00

// ----------
#define CAN_STATUS_COMPLETED     0x00
// ----------
#define CAN_STATUS_NOT_COMPLETED 0x01
// ----------
#define CAN_STATUS_ERROR         0x02

// ----------
typedef enum {
  CMD_NONE,
  CMD_TX,
  CMD_TX_DATA,
  CMD_TX_REMOTE,
  CMD_RX, 
  CMD_RX_DATA, 
  CMD_RX_REMOTE,
  CMD_RX_MASKED,
  CMD_RX_DATA_MASKED,
  CMD_RX_REMOTE_MASKED, 
  CMD_REPLY,        
  CMD_REPLY_MASKED,
  CMD_ABORT
} can_cmd_t; 

// ----------
typedef union{
  U32 ext;
  U16 std;
  U8  tab[4];
} can_id_t; 

// ----------
typedef struct{
  unsigned rtr : 1;
  unsigned ide : 1;
  unsigned dummy :6;
} can_ctrl_t;

// ----------

typedef  struct{
  U8         handle; 
  can_cmd_t  cmd; 
  can_id_t   id;
  U8         dlc;  
  U8*        pt_data; 
  U8         status; 
  can_ctrl_t ctrl;   
} st_cmd_t;



//!
extern U8 can_init(U8 mode);

//------------------------------------------------------------------------------

extern U8 can_cmd (st_cmd_t *);

//------------------------------------------------------------------------------

//!
extern U8 can_get_status (st_cmd_t *); 

//______________________________________________________________________________
//ZX
extern uchar CAN_SHOU(uchar *p);
extern uchar CAN_FA(uchar gs,uchar *p);
extern uchar CAN_TEST_SHOU(uchar *p,U32 *p1);

//
#endif // _CAN_LIB_H_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?