www.pudn.com > arm.rar > up-can.h, change:2005-03-18,size:1212b


#ifndef __UP_CAN_H__
#define __UP_CAN_H__


#define UPCAN_IOCTRL_SETBAND			0x1	//set can bus band rate
#define UPCAN_IOCTRL_SETID				0x2	//set can frame id data
#define UPCAN_IOCTRL_SETLPBK			0x3	//set can device in loop back mode or normal mode
#define UPCAN_IOCTRL_SETFILTER			0x4	//set a filter for can device
#define UPCAN_IOCTRL_PRINTRIGISTER	0x5	// print register information of spi and portE

#define UPCAN_EXCAN					(1<<31)	//extern can flag

typedef enum{
	BandRate_125kbps=1,
	BandRate_250kbps=2,
	BandRate_500kbps=3,
	BandRate_1Mbps=4
}CanBandRate;

typedef struct {
	unsigned int id;	//CAN总线ID
	unsigned char data[8];		//CAN总线数据
	unsigned char dlc;		//数据长度
	int IsExt; 	//是否是扩展总线
	int rxRTR;	//是否是远程帧
}CanData, *PCanData;

/*********************************************************************\
	CAN设备设置接收过滤器结构体
	参数:	IdMask,Mask
			IdFilter,Filter
	是否接收数据按照如下规律:
	Mask	Filter	RevID	Receive
	0		x		x		yes
	1		0		0		yes
	1		0		1		no
	1		1		0		no
	1		1		1		yes
	
\*********************************************************************/
typedef struct{
	unsigned int Mask;
	unsigned int Filter;
	int IsExt;	//是否是扩展ID
}CanFilter,*PCanFilter;

#endif