亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? canreg.h

?? Can通訊的源碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/****************************************Copyright (c)**************************************************
**                               廣州周立功單片機發展有限公司
**                                     研    究    所
**                                        產品一部 
**                                 http://www.zlgmcu.com
**-------------------------------------文件信息--------------------------------------------------------
**	文   件  	名:	CANREG.H
**  創   建     人: 滕欣欣
** 	版  		本:	v1.0
** 	日			期:	2004年2月23日
**	描			述:	CAN模塊寄存器類型定義、地址定義頭文件
********************************************************************************************************/
#ifndef	_CANREG_H_
#define	_CANREG_H_
/*
**********************************************************************************************************************
**   驗收濾波器RAM首地址
**********************************************************************************************************************
*/
#define	CANAFRAM_BADR				0xE0038000
/*
**********************************************************************************************************************
**  CAN寄存器基地址定義
**********************************************************************************************************************
*/
#define 	CANMOD_BADR				0xE0044000     		//模式寄存器
#define 	CANCMR_BADR				0xE0044004      	//命令寄存器
#define 	CANGSR_BADR				0xE0044008      	//全局狀態寄存器
#define 	CANICR_BADR				0xE004400C     		//中斷及捕獲寄存器
#define 	CANIER_BADR				0xE0044010      	//中斷使能寄存器
#define 	CANBTR_BADR				0xE0044014      	//總線時序寄存器
#define 	CANEWL_BADR				0xE0044018      	//報警限制寄存器
#define 	CANSR_BADR  			0xE004401C      	//狀態寄存器
#define 	CANRFS_BADR				0xE0044020      	//接收幀信息寄存器
#define		CANRID_BADR				0xE0044024      	//接收報文ID寄存器

#define 	CANRDA_BADR				0xE0044028      	//接收數據1~4
#define 	CANRDB_BADR 			0xE004402C      	//接收數據5~8
#define 	CANTFI1_BADR			0xE0044030      	//CAN發送緩沖區1幀信息寄存器
#define 	CANTID1_BADR			0xE0044034      	// CAN發送緩沖區1報文ID寄存器
#define 	CANTDA1_BADR			0xE0044038      	// CAN發送緩沖區1發送數據1~4寄存器
#define 	CANTDB1_BADR			0xE004403C      	// CAN發送緩沖區1發送數據5~8寄存器
#define 	CANTFI2_BADR			0xE0044040      	// CAN發送緩沖區2幀信息寄存器
#define 	CANTID2_BADR			0xE0044044      	// CAN發送緩沖區2報文ID寄存器
#define 	CANTDA2_BADR			0xE0044048     		// CAN發送緩沖區2發送數據1~4寄存器
#define 	CANTDB2_BADR			0xE004404C      	// CAN發送緩沖區2發送數據5~8寄存器
#define 	CANTFI3_BADR			0xE0044050      	// CAN發送緩沖區3幀信息寄存器
#define 	CANTID3_BADR			0xE0044054      	// CAN發送緩沖區3報文ID寄存器
#define 	CANTDA3_BADR			0xE0044058      	// CAN發送緩沖區3發送數據1~4寄存器
#define 	CANTDB3_BADR			0xE004405C      	// CAN發送緩沖區3發送數據5~8寄存器
/*
**********************************************************************************************************************
**  定義RxBUF的基地址
**********************************************************************************************************************
*/
#define	RxBUF_BADR					0xE0044020
/*
**********************************************************************************************************************
**  定義TxBUF的基地址
**********************************************************************************************************************
*/
#define	TxBUF1_BADR					0xE0044030			// CAN發送緩沖區1首地址
#define	TxBUF2_BADR					0xE0044040			// CAN發送緩沖區2首地址
#define	TxBUF3_BADR					0xE0044050			// CAN發送緩沖區3首地址
/*
**********************************************************************************************************************
**  定義全局應用的寄存器
**********************************************************************************************************************
*/
#define 	CANTxSR_GADR   			0xE0040000      	//發送狀態寄存器
#define 	CANRxSR_GADR      		0xE0040004      	//接收狀態寄存器
#define 	CANMSR_GADR       		0xE0040008      	//錯誤狀態寄存器
#define 	CANAFMR_GADR      		0xE003C000      	//驗收濾波控制
#define 	CANSFF_sa_GADR      	0xE003C004      	//標準幀表格
#define 	CANSFF_GRP_sa_GADR 		0xE003C008      	//標準幀組表格
#define 	CANEFF_sa_GADR      	0xE003C00C      	//擴展幀表格
#define 	CANEFF_GRP_sa_GADR 		0xE003C010      	//擴展幀組表格
#define 	CANENDofTable_GADR  	0xE003C014      	//表格結束地址
#define 	CANLUTerrAd_GADR   		0xE003C018      	//LUT錯誤地址地址寄存器
#define 	CANLUTerr_GADR      	0xE003C01C			//LUT錯誤寄存器
/*
**********************************************************************************************************************
**  CAN控制器通道定義
**********************************************************************************************************************
*/
typedef 	enum		_cannum_				
{ 
#if		CAN_MAX_NUM  == 4			//微處理器中含有4路CAN
	CAN1 = 0, 						//CAN1模塊
	CAN2,							//CAN2模塊
	CAN3,							//CAN3模塊
	CAN4							//CAN4模塊
#elif	CAN_MAX_NUM  == 2			//微處理器中含有2路CAN
	CAN1 = 0, 						//CAN1模塊
	CAN2							//CAN2模塊
#endif
} eCANNUM;		

//#define REGAFRAM         (*((volatile INT32U *) 0xE0038000))      /* lpc2119\lpc2129\lpc2292\lpc2294 only */

/*
*********************************************************************************************************************
**   定義 CANMOD 寄存器:
1.This register controls the basic operating mode of the CAN Controller. 
2.Bits not listed read as 0 and should be written as 0.
*********************************************************************************************************************
*/
typedef	union		_canmod_
{
	INT32U	Word;
	struct	{
		INT32U	RM 		:1;		//定義RM位(復位位)
		INT32U	LOM 	:1;		//定義LOM位(只聽模式位)
		
		INT32U	STM		:1;		//定義STM位 "0"發送的信息必須被應答才被認可
									//			"1"自測試模式,CANCMR的SRR位一起使用,可以達到自發自收的效果
									
		INT32U	TPM 	:1;		//定義TPM位 "0"3個發送緩沖區的優先級由各自的CAN ID決定
									//			"1"3個發送緩沖區的優先級由各自的Tx優先級域決定
									
		INT32U	SM 		:1;		//定義SM位(睡眠模式位)
		
		INT32U	RPM 	:1;		//定義RPM位 "0"如果傳輸的是顯性位,Rx和Tx腳為低電平
									//			"1"翻轉極性模式--如果傳輸的是顯性位,Rx腳為高電平
									
		INT32U	RSV1 	:1;		//保留位
		INT32U	TM 		:1;		//定義TM位(測試模式)
		INT32U	RSV24	:24;	//保留位
	}Bits;
}uCANMod,*P_uCANMod;

#define 	CANMOD(CanNum)		(*((volatile P_uCANMod)(CANMOD_BADR+CanNum* CAN_OFFSET_ADR)))

/*
**********************************************************************************************************************
**   定義 CANCMR 寄存器:
1.Writing to this write-only register initiates an action. 
2.Bits not listed should be written as 0. Reading this register yields zeroes.
**********************************************************************************************************************
*/
typedef	union		_cancmr_
{
	INT32U	Word;
	struct	
	{
		INT32U	TR 		:1;		//定義TR位(發送請求)
		INT32U	AT 		:1;		//定義AT位(發送中止)
		INT32U	RRB 	:1;		//定義RRB位(接收緩沖區釋放)
		INT32U	CDO 	:1;		//清除數據溢出位
		INT32U	SRR 	:1;		//定義SRR位(自接收請求)
		INT32U	STB1 	:1;		//定義SEND TxBUF1位(選擇BUF1發送)
		INT32U	STB2 	:1;		//定義SEND TxBUF2位(選擇BUF2發送)
		INT32U	STB3 	:1;		//定義SEND TxBUF3位(選擇BUF3發送)
		INT32U	RSV24	:24;	//保留位
	}Bits;
}uCANCMR,*P_uCANCMR;

#define 	CANCMR(CanNum)		(*((volatile P_uCANCMR)(CANCMR_BADR+CanNum* CAN_OFFSET_ADR )))
/*
************************************************************************************************************************
**   定義 CANGSR 寄存器:
1.This register is read-only, except that the Error Counters can be written when the RM bit in the CANMOD register is 1.
2.Bits not listed read as 0 and should be written as 0.
************************************************************************************************************************
*/
typedef	union		_cangsr_
{
	INT32U	Word;				//字操作定義
	struct	
	{
		INT32U	RBS 	:1;	//接收緩沖區狀態位
		INT32U	DOS 	:1; //數據溢出狀態位
		INT32U	TBS 	:1;	//發送緩沖區狀態鎖定位
		INT32U	TCS 	:1;	//發送完成狀態位
		INT32U	RS 		:1;	//正在接收狀態
		INT32U	TS 		:1;	//正在發送狀態
		INT32U	ES	 	:1;	//錯誤狀態
		INT32U	BS 		:1;	//總線關閉
		INT32U	RSV8	:8;	//保留位
		INT32U	RXERR 	:8;	//接收錯誤計數
		INT32U	TXERR 	:8;	//發送錯誤計數
	}Bits;
}uCANGSR,*P_uCANGSR;

#define 	CANGSR(CanNum)		(*((volatile P_uCANGSR)( CANGSR_BADR+CanNum* CAN_OFFSET_ADR ))) 
/*
**********************************************************************************************************************
**   定義 CANICR 寄存器:
1.Bits in this register indicate information about events on the CAN bus. This register is read-only.
2.Bits not listed read as 0 and should be written as 0.
3.The clearing of bits 1-9 and the releasing of bits 16-23 and 24-31 all occur on any read from CANICR,
  regardless of whether part or all of the register is read.This means that software should always read CANICR as a word,
  and and process and deal with all bits of the register as appropriate for the application.
**********************************************************************************************************************
*/
typedef	union		_canicr_
{
	INT32U	Word;				//字操作定義
	struct	
	{
		INT32U	RI 		:1;	//接收中斷位
		INT32U	TI1 	:1;	//TxBUF1發送成功中斷位
		INT32U	EI 		:1;	//錯誤報警中斷位
		INT32U	DOI 	:1;	//數據溢出中斷位
		INT32U	WUI 	:1;	//睡眠喚醒中斷位
		INT32U	EPI 	:1;	//錯誤認可中斷位
		INT32U	ALI 	:1;	//仲裁錯誤中斷位
		INT32U	BEI 	:1;	//總線錯誤中斷
		INT32U	IDI 	:1;	//接收到CAN標識符中斷位
		INT32U	TI2 	:1;	// TxBUF2發送成功中斷位
		INT32U	TI3 	:1;	// TxBUF3發送成功中斷位
		INT32U	RSV5	:5;	//保留位
		INT32U	ERRBIT 	:5;	//錯誤代碼捕獲
		INT32U	ERRDIR 	:1;	//錯誤方向
		INT32U	ERRC 	:2;	//錯誤類型
		INT32U	ALCBIT 	:5;	//仲裁錯誤代碼捕獲
		INT32U	RSV3	:3;	//保留
	}Bits;
}uCANICR,*P_uCANICR;

#define 	CANICR(CanNum)		(*((volatile P_uCANICR)( CANICR_BADR+CanNum* CAN_OFFSET_ADR ))) 
/*
**********************************************************************************************************************
**   定義 CANIER 寄存器:
1.This read/write register controls whether various events on the CAN controller will result in an interrupt.
2.Bits 7:0 in this register correspond 1-to-1 with bits 7:0 in the CANICR register.
**********************************************************************************************************************
*/
typedef	union		_canier_
{
	INT32U	Word;			//字操作定義
	struct	
	{
		INT32U	RIE 	:1;	//接收中斷使能位
		INT32U	TIE1 	:1;	//TxBUF1發送完成中斷使能位
		INT32U	EIE 	:1;	//錯誤報警中斷使能位
		INT32U	DOIE 	:1;	//數據溢出中斷使能位
		INT32U	WUIE 	:1;	//睡眠模式喚醒中斷使能位
		INT32U	EPIE 	:1;	//錯誤認可中斷使能位
		INT32U	ALIE 	:1;	//仲裁丟失中斷使能位
		INT32U	BEIE 	:1;	//總線錯誤中斷使能位
		INT32U	IDIE	:1;	//接收到CAN標識符中斷使能位
		INT32U	TIE2 	:1;	//TxBUF2發送完成中斷使能位
		INT32U	TIE3	:1;	//TxBUF3發送完成中斷使能位
		INT32U	RSV21	:21;//保留位
	}Bits;
}uCANIER,*P_uCANIER;

#define 	CANIER(CanNum)		(*((volatile P_uCANIER)( CANIER_BADR+CanNum* CAN_OFFSET_ADR )))
/*
**********************************************************************************************************************
**   定義 CANBTR 寄存器:
1.This register controls how various CAN timings are derived from the VPB clock.
2.It can be read at any time, but can only be written if the RM bit in CANmod is 1.
**********************************************************************************************************************
*/
typedef	union		_canbtr_
{
	INT32U	Word;					//字操作定義
	struct	
	{
		INT32U	BRP 	:10;	//預分頻位組合定義
		INT32U	RSV4	:4;		//保留位
		INT32U	SJW 	:2;		//同步跳轉寬度
		INT32U	TSEG1 	:4;		//時間段1
		INT32U	TSEG2 	:3;		//時間段2
		INT32U	SAM 	:1;		//采樣模式位
		INT32U	RSV8	:8;		//保留
	}Bits;
}uCANBTR,*P_uCANBTR;

#define 	CANBTR(CanNum)		(*((volatile P_uCANBTR)( CANBTR_BADR+CanNum* CAN_OFFSET_ADR )))
/*
**********************************************************************************************************************
**   定義 CANEWL 寄存器:
1.This register sets a limit on Tx or Rx errors at which an interrupt can occur.
2.It can be read at any time, but can only be written if the RM bit in CANmod is 1.
**********************************************************************************************************************
*/
typedef	union	_canewl_
{
	INT32U	Word;					//字操作定義
	struct	
	{
		INT32U	EWL 	:8;		///出錯警告界限值
		INT32U	RSV24	:24;	//保留位
	}Bits;
}uCANEWL,*P_uCANEWL;

#define 	CANEWL(CanNum)		(*((volatile P_uCANEWL)( CANEWL_BADR+CanNum* CAN_OFFSET_ADR )))
/*
**********************************************************************************************************************
**   定義 CANSR 寄存器:
1.This register contains three status bytes, in which the bits not related to tranmission are identical to the 
  corresponding bits in the Global Status Register, while those relating to transmission reflect the status of 
  each of the 3 Tx Buffers.
**********************************************************************************************************************
*/
typedef	union	_cansr_
{
	INT32U	Word;					//字操作定義
	struct	
	{
		INT32U	RBS1 	:1;		//接收緩沖區有效
		INT32U	DOS1 	:1;		//數據溢出
		INT32U	TBS1 	:1;		//TxBUF1鎖定位  "0":鎖定
		INT32U	TCS1 	:1;		//TxBUF1的數據發送完成 
		INT32U	RS1 	:1;		//正在接收
		INT32U	TS1 	:1;		//TxBUF1的數據正在發送 "1"正在發送
		INT32U	ES1 	:1;		//錯誤認可
		INT32U	BS1 	:1;		//總線錯誤
		INT32U	RBS2 	:1;		//
		INT32U	DOS2 	:1;		//
		INT32U	TBS2 	:1;		// TxBUF2鎖定
		INT32U	TCS2 	:1;		// TxBUF2的數據發送完成
		INT32U	RS2 	:1;		//
		INT32U	TS2 	:1;		// TxBUF2的數據正在發送
		INT32U	ES2 	:1;		//
		INT32U	BS2 	:1;		//
		INT32U	RBS3 	:1;		//
		INT32U	DOS3 	:1;		//
		INT32U	TBS3 	:1;		// TxBUF3鎖定
		INT32U	TCS3 	:1;		// TxBUF3的數據發送完成
		INT32U	RS3 	:1;		//
		INT32U	TS3 	:1;		// TxBUF3的數據正在發送
		INT32U	ES3 	:1;		//
		INT32U	BS3 	:1;		//
		INT32U	RSV8	:8;		//
	}Bits;
}uCANSR,*P_uCANSR;

#define 	CANSR(CanNum)		(*((volatile P_uCANSR)( CANSR_BADR+CanNum* CAN_OFFSET_ADR )))
/*
**********************************************************************************************************************
**   定義 CANRFS 寄存器:
1.This register defines the characteristics of the current received message. 
2.It is read-only in normal operation, but can be written for testing purposes if the RM bit in CANMOD is 1.
**********************************************************************************************************************
*/
typedef	union		_canrfs_
{
	INT32U		Word;				//字操作定義
	struct	
	{
		INT32U	IDIN 	:10;	//ID索引值
		INT32U	BP 		:1;		//BP
		INT32U	RSV5 	:5;		//保留
		INT32U	DLC 	:4;		//數據長度

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合九色综合久久久精品综合| 一区二区三区精品在线观看| 中文字幕在线一区| 丝袜美腿亚洲一区| 99精品视频在线免费观看| 欧美成人欧美edvon| 一区二区三区在线观看视频| 国产乱对白刺激视频不卡| 宅男在线国产精品| 亚洲精品菠萝久久久久久久| 成人永久aaa| 久久免费视频一区| 久久草av在线| 欧美一区二区视频观看视频| 亚洲一区二区视频在线| 91麻豆6部合集magnet| 国产精品久久久久三级| 国产精品亚洲成人| 久久久亚洲精品石原莉奈| 蜜桃一区二区三区在线观看| 欧美日韩一级二级| 日韩视频永久免费| 亚洲区小说区图片区qvod| 福利一区二区在线| 国产欧美精品区一区二区三区| 乱中年女人伦av一区二区| 欧美日本一区二区三区四区| 亚洲一区二三区| 欧美中文字幕一区二区三区亚洲| 国产精品盗摄一区二区三区| 成人一区二区三区在线观看| 欧美高清在线一区| 国产jizzjizz一区二区| 国产精品乱码一区二区三区软件| 国产suv精品一区二区三区| 中文字幕 久热精品 视频在线| 国产麻豆视频精品| 亚洲国产激情av| 日本丶国产丶欧美色综合| 玉米视频成人免费看| 精品视频1区2区| 热久久一区二区| 久久久夜色精品亚洲| 成人免费视频一区二区| 亚洲天堂福利av| 欧美日韩国产区一| 久久av资源站| 国产精品免费网站在线观看| 91丨国产丨九色丨pron| 亚洲国产精品久久不卡毛片| 日韩一区二区三区在线观看| 精品一区二区三区在线播放| 国产亚洲一二三区| 色婷婷激情一区二区三区| 日韩高清欧美激情| 国产欧美1区2区3区| 91成人看片片| 久久不见久久见免费视频1| 亚洲国产精品av| 欧美日韩精品欧美日韩精品一综合| 免费在线看一区| 国产精品美女久久久久久久网站| 欧美四级电影网| 国产成人免费视| 亚洲成av人片一区二区梦乃| 久久九九99视频| 精品视频999| 成人av网址在线观看| 日日摸夜夜添夜夜添亚洲女人| 国产网站一区二区| 欧美日韩国产一二三| 国产精品性做久久久久久| 一区二区三区日本| 国产欧美一区二区精品性| 欧美亚洲综合网| 国产麻豆精品视频| 亚洲成人综合网站| 欧美经典一区二区| 91麻豆精品国产91久久久久| a级精品国产片在线观看| 日韩成人免费看| 一区二区三区产品免费精品久久75| 日韩精品最新网址| 欧美亚洲动漫另类| av在线播放一区二区三区| 精品一区二区三区的国产在线播放 | 亚洲乱码中文字幕| 久久久三级国产网站| 欧美色精品在线视频| 成人av在线网| 黄色日韩网站视频| 青青草97国产精品免费观看无弹窗版 | 一区二区在线观看免费| 欧美精品一区二| 欧美日韩综合在线| 色播五月激情综合网| 国产成人一区在线| 精品一区二区影视| 秋霞电影网一区二区| 亚洲国产中文字幕在线视频综合| 日本一区二区不卡视频| 国产女主播视频一区二区| 精品少妇一区二区三区在线视频| 91麻豆精品国产综合久久久久久 | 成人动漫精品一区二区| 国产麻豆午夜三级精品| 国产露脸91国语对白| 精品一区二区免费看| 免费在线观看不卡| 毛片av中文字幕一区二区| 人人超碰91尤物精品国产| 免费成人在线网站| 蜜臀久久99精品久久久久久9 | 国产乱码精品1区2区3区| 国产在线麻豆精品观看| 极品美女销魂一区二区三区| 久久精品国产秦先生| 久99久精品视频免费观看| 麻豆freexxxx性91精品| 激情五月婷婷综合网| 激情深爱一区二区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 久久激情综合网| 国内精品久久久久影院色| 国产黄色成人av| www.99精品| 欧美在线一二三四区| 7777精品伊人久久久大香线蕉 | 欧美在线三级电影| 欧美日本在线观看| 精品国产免费久久| 中文字幕一区av| 亚洲综合久久久| 久久精品理论片| av中文一区二区三区| 欧美亚洲综合在线| 精品国产一区二区三区久久影院| 久久精品亚洲乱码伦伦中文| 国产精品短视频| 亚洲h精品动漫在线观看| 免费成人在线影院| 不卡电影一区二区三区| 欧美欧美午夜aⅴ在线观看| 欧美r级电影在线观看| 中文字幕在线免费不卡| 五月激情综合婷婷| 国产激情一区二区三区| 91免费观看视频| 日韩欧美视频在线| 国产精品不卡在线| 日本美女视频一区二区| 丰满亚洲少妇av| 欧美日韩成人一区二区| 国产欧美一二三区| 偷拍亚洲欧洲综合| 白白色 亚洲乱淫| 日韩精品一区二区三区中文不卡| 国产精品乱码一区二区三区软件| 五月天激情小说综合| av网站一区二区三区| 欧美一级搡bbbb搡bbbb| 亚洲激情校园春色| 国产精品一区二区三区乱码| 欧美精品黑人性xxxx| 亚洲国产高清在线| 久久精品免费观看| 欧美精品在线一区二区三区| 国产精品女同互慰在线看| 美腿丝袜亚洲综合| 欧美色图天堂网| 亚洲精品乱码久久久久| 国产宾馆实践打屁股91| 精品88久久久久88久久久| 午夜精品一区二区三区三上悠亚| 不卡av免费在线观看| xfplay精品久久| 日日噜噜夜夜狠狠视频欧美人 | 91小宝寻花一区二区三区| 欧美成人精品福利| 日韩主播视频在线| 欧美色精品在线视频| 亚洲激情自拍视频| 色综合天天狠狠| 亚洲视频在线观看一区| 成人h动漫精品一区二区| 久久亚洲精品国产精品紫薇| 久久精品国产精品亚洲综合| 欧美丰满高潮xxxx喷水动漫| 亚洲一区二区精品3399| 在线观看91视频| 亚洲国产wwwccc36天堂| 欧美亚洲图片小说| 污片在线观看一区二区| 精品视频123区在线观看| 亚洲成av人片一区二区三区| 欧美日韩高清在线播放| 午夜精品视频一区| 91精品国产综合久久香蕉麻豆| 亚洲mv在线观看| 日韩三级中文字幕|