⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 can_lib.h

📁 Avr单片机 At90can32 CAN 总线通信原代码 c语言
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -