stm32f10x_reg.h

来自「CAN 程序使用MCP2515 由STM32做主芯片控制」· C头文件 代码 · 共 2,488 行 · 第 1/5 页

H
2,488
字号
	} TDHR;
} CAN_TxMailBox_T;

typedef struct
{
	union
	{
		struct
		{
			volatile unsigned long NC			:1;
			volatile unsigned long RTR		:1;
			volatile unsigned long IDE		:1;
			volatile unsigned long EXID		:29;
		} BExt;
		struct
		{
			volatile unsigned long NC			:1;
			volatile unsigned long RTR		:1;
			volatile unsigned long IDE		:1;
			volatile unsigned long NC1		:18;
			volatile unsigned long STID		:11;
		} B;
		volatile unsigned long W;
	} RIR;
	union
	{
		struct
		{
			volatile unsigned long DLC		:4;
			volatile unsigned long NC2		:4;
			volatile unsigned long FMI		:8;
			volatile unsigned long TIME		:16;
		} B;
		volatile unsigned long W;
	} RDTR;
	union
	{
		struct
		{
			volatile unsigned long DATA0		:8;
			volatile unsigned long DATA1		:8;
			volatile unsigned long DATA2		:8;
			volatile unsigned long DATA3		:8;
		} B;
		volatile unsigned long W;
	} RDLR;
	union
	{
		struct
		{
			volatile unsigned long DATA4		:8;
			volatile unsigned long DATA5		:8;
			volatile unsigned long DATA6		:8;
			volatile unsigned long DATA7		:8;
		} B;
		volatile unsigned long W;
	} RDHR;
} CAN_FIFOMailBox_T;

typedef struct
{
	volatile unsigned long FR1;
	volatile unsigned long FR2;
} CAN_FilterRegister_T;

typedef struct
{
	union
	{
		struct
		{
			volatile unsigned long INRQ		:1;
			volatile unsigned long SLEEP		:1;
			volatile unsigned long TXFP		:1;
			volatile unsigned long RFLM		:1;
			volatile unsigned long NART		:1;
			volatile unsigned long AWUM		:1;
			volatile unsigned long ABOM		:1;
			volatile unsigned long TTCM		:1;
			volatile unsigned long NC1		:7;
			volatile unsigned long RESET		:1;
			volatile unsigned long NC			:16;
		} B;
		volatile unsigned long W;
	} MCR;
	union
	{
		struct
		{
			volatile unsigned long INAK		:1;
			volatile unsigned long SLAK		:1;
			volatile unsigned long ERRI		:1;
			volatile unsigned long WKUI		:1;
			volatile unsigned long SLAKI		:1;
			volatile unsigned long NC1		:3;
			volatile unsigned long TXM		:1;
			volatile unsigned long RXM		:1;
			volatile unsigned long SAMP		:1;
			volatile unsigned long RX			:1;
			volatile unsigned long NC			:20;
		} B;
		volatile unsigned long W;
	} MSR;
	union
	{
		struct
		{
			volatile unsigned long RQCP0		:1;
			volatile unsigned long TXOK0		:1;
			volatile unsigned long ALST0		:1;
			volatile unsigned long TERR0		:1;
			volatile unsigned long NC0		:3;
			volatile unsigned long ABRQ0		:1;
			volatile unsigned long RQCP1		:1;
			volatile unsigned long TXOK1		:1;
			volatile unsigned long ALST1		:1;
			volatile unsigned long TERR1		:1;
			volatile unsigned long NC1		:3;
			volatile unsigned long ABRQ1		:1;
			volatile unsigned long RQCP2		:1;
			volatile unsigned long TXOK2		:1;
			volatile unsigned long ALST2		:1;
			volatile unsigned long TERR2		:1;
			volatile unsigned long NC2		:3;
			volatile unsigned long ABRQ2		:1;
			volatile unsigned long CODE		:2;
			volatile unsigned long TME0		:1;
			volatile unsigned long TME1		:1;
			volatile unsigned long TME2		:1;
			volatile unsigned long LOW0		:1;
			volatile unsigned long LOW1		:1;
			volatile unsigned long LOW2		:1;
		} B;
		volatile unsigned long W;
	} TSR;
	union
	{
		struct
		{
			volatile unsigned long FMP0		:2;
			volatile unsigned long NC1		:1;
			volatile unsigned long FULL0		:1;
			volatile unsigned long FOVR0		:1;
			volatile unsigned long RFOM0		:1;
			volatile unsigned long NC			:26;
		} B;
		volatile unsigned long W;
	} RF0R;
	union
	{
		struct
		{
			volatile unsigned long FMP1		:2;
			volatile unsigned long NC1		:1;
			volatile unsigned long FULL1		:1;
			volatile unsigned long FOVR1		:1;
			volatile unsigned long RFOM1		:1;
			volatile unsigned long NC			:26;
		} B;
		volatile unsigned long W;
	} RF1R;
	union
	{
		struct
		{
			volatile unsigned long TMEIE		:1;
			volatile unsigned long FMPIE0		:1;
			volatile unsigned long FFIE0		:1;
			volatile unsigned long FOVIE0		:1;
			volatile unsigned long FMPIE1		:1;
			volatile unsigned long FFIE1		:1;
			volatile unsigned long FOVIE1		:1;
			volatile unsigned long NC2		:1;
			volatile unsigned long EWGIE		:1;
			volatile unsigned long EPVIE		:1;
			volatile unsigned long BOFIE		:1;
			volatile unsigned long LECIE		:1;
			volatile unsigned long NC1		:3;
			volatile unsigned long ERRIE		:1;
			volatile unsigned long WKUIE		:1;
			volatile unsigned long SLKIE		:1;
			volatile unsigned long NC			:14;
		} B;
		volatile unsigned long W;
	} IER;
	union
	{
		struct
		{
			volatile unsigned long EWGF		:1;
			volatile unsigned long EPVF		:1;
			volatile unsigned long BOFF		:1;
			volatile unsigned long NC1		:1;
			volatile unsigned long LEC		:3;
			volatile unsigned long NC			:9;
			volatile unsigned long TEC		:8;
			volatile unsigned long REC		:8;
		} B;
		volatile unsigned long W;
	} ESR;
	union
	{
		struct
		{
			volatile unsigned long BRP		:10;
			volatile unsigned long NC2		:6;
			volatile unsigned long TS1		:4;
			volatile unsigned long TS2		:3;
			volatile unsigned long NC1		:1;
			volatile unsigned long SJW		:2;
			volatile unsigned long NC			:4;
			volatile unsigned long LBKM		:1;
			volatile unsigned long SILM		:1;
		} B;
		volatile unsigned long W;
	} BTR;
	unsigned long  RESERVED0[88];
	CAN_TxMailBox_T sTxMailBox[3];
	CAN_FIFOMailBox_T sFIFOMailBox[2];
	unsigned long  RESERVED1[12];
	union
	{
		struct
		{
			volatile unsigned long FINIT		:1;
			volatile unsigned long NC			:31;
		} B;
		volatile unsigned long W;
	} FMR;
	union
	{
		struct
		{

			volatile unsigned long FBM0		:1;
			volatile unsigned long FBM1		:1;
			volatile unsigned long FBM2		:1;
			volatile unsigned long FBM3		:1;
			volatile unsigned long FBM4		:1;
			volatile unsigned long FBM5		:1;
			volatile unsigned long FBM6		:1;
			volatile unsigned long FBM7		:1;
			volatile unsigned long FBM8		:1;
			volatile unsigned long FBM9		:1;
			volatile unsigned long FBM10		:1;
			volatile unsigned long FBM11		:1;
			volatile unsigned long FBM12		:1;
			volatile unsigned long FBM13		:1;
			volatile unsigned long NC			:18;
		} B;
		volatile unsigned long W;
	} FM1R;
	unsigned long  RESERVED2;
	union
	{
		struct
		{

			volatile unsigned long FSC0		:1;
			volatile unsigned long FSC1		:1;
			volatile unsigned long FSC2		:1;
			volatile unsigned long FSC3		:1;
			volatile unsigned long FSC4		:1;
			volatile unsigned long FSC5		:1;
			volatile unsigned long FSC6		:1;
			volatile unsigned long FSC7		:1;
			volatile unsigned long FSC8		:1;
			volatile unsigned long FSC9		:1;
			volatile unsigned long FSC10		:1;
			volatile unsigned long FSC11		:1;
			volatile unsigned long FSC12		:1;
			volatile unsigned long FSC13		:1;
			volatile unsigned long NC			:18;
		} B;
		volatile unsigned long W;
	} FS1R;
	unsigned long  RESERVED3;
	union
	{
		struct
		{
			volatile unsigned long FFA0		:1;
			volatile unsigned long FFA1		:1;
			volatile unsigned long FFA2		:1;
			volatile unsigned long FFA3		:1;
			volatile unsigned long FFA4		:1;
			volatile unsigned long FFA5		:1;
			volatile unsigned long FFA6		:1;
			volatile unsigned long FFA7		:1;
			volatile unsigned long FFA8		:1;
			volatile unsigned long FFA9		:1;
			volatile unsigned long FFA10		:1;
			volatile unsigned long FFA11		:1;
			volatile unsigned long FFA12		:1;
			volatile unsigned long FFA13		:1;
			volatile unsigned long NC			:18;
		} B;
		volatile unsigned long W;
	} FFA1R;
	unsigned long  RESERVED4;
	union
	{
		struct
		{
			volatile unsigned long FACT0		:1;
			volatile unsigned long FACT1		:1;
			volatile unsigned long FACT2		:1;
			volatile unsigned long FACT3		:1;
			volatile unsigned long FACT4		:1;
			volatile unsigned long FACT5		:1;
			volatile unsigned long FACT6		:1;
			volatile unsigned long FACT7		:1;
			volatile unsigned long FACT8		:1;
			volatile unsigned long FACT9		:1;
			volatile unsigned long FACT10		:1;
			volatile unsigned long FACT11		:1;
			volatile unsigned long FACT12		:1;
			volatile unsigned long FACT13		:1;
			volatile unsigned long NC			:18;
		} B;
		volatile unsigned long W;
	} FA1R;
	unsigned long  RESERVED5[8];
	CAN_FilterRegister_T sFilterRegister[14];
} CAN_T;

/*------------------------ CRC calculation unit ------------------------------*/
typedef struct
{
	volatile unsigned long DR;
	volatile unsigned char  IDR;
	unsigned char   RESERVED0;
	unsigned short  RESERVED1;
	volatile unsigned long CR;
} CRC_T;


/*------------------------ Digital to Analog Converter -----------------------*/
typedef struct
{
	union
	{
		struct
		{
			volatile unsigned long EN1		:1;
			volatile unsigned long BOFF1		:1;
			volatile unsigned long TEN1		:1;
			volatile unsigned long TSEL1		:3;
			volatile unsigned long WAVE1		:2;
			volatile unsigned long MAMP1		:4;
			volatile unsigned long DMAEN1		:1;
			volatile unsigned long NC			:3;
			volatile unsigned long EN2		:1;
			volatile unsigned long BOFF2		:1;
			volatile unsigned long TEN2		:1;
			volatile unsigned long TSEL2		:3;
			volatile unsigned long WAVE2		:2;
			volatile unsigned long MAMP2		:4;
			volatile unsigned long DMAEN2		:1;
			volatile unsigned long NC1		:3;
		} B;
		volatile unsigned long W;
	} CR;
	union
	{
		struct
		{
			volatile unsigned long SWTRIG1	:1;
			volatile unsigned long SWTRIG2	:1;
			volatile unsigned long NC			:30;
		} B;
		volatile unsigned long W;
	} SWTRIGR;
	union
	{
		struct
		{
			volatile unsigned long DACC1DHR	:12;
			volatile unsigned long NC			:20;
		} B;
		volatile unsigned long W;
	} DHR12R1;
	union
	{
		struct
		{
			volatile unsigned long NC			:4;
			volatile unsigned long DACC1DHR	:12;
			volatile unsigned long NC1		:16;
		} B;
		volatile unsigned long W;
	} DHR12L1;
	union
	{
		struct
		{
			volatile unsigned long DACC1DHR	:8;
			volatile unsigned long NC			:24;
		} B;
		volatile unsigned long W;
	} DHR8R1;
	union
	{
		struct
		{
			volatile unsigned long DACC2DHR	:12;
			volatile unsigned long NC			:20;
		} B;
		volatile unsigned long W;
	} DHR12R2;
	union
	{
		struct
		{
			volatile unsigned long NC			:4;
			volatile unsigned long DACC2DHR	:12;
			volatile unsigned long NC1		:16;
		} B;
		volatile unsigned long W;
	} DHR12L2;
	union
	{
		struct
		{
			volatile unsigned long DACC2DHR	:8;
			volatile unsigned long NC			:24;
		} B;
		volatile unsigned long W;
	} DHR8R2;
	union
	{
		struct
		{
			volatile unsigned long DACC1DHR	:12;
			volatile unsigned long NC			:4;
			volatile unsigned long DACC2DHR	:12;
			volatile unsigned long NC1		:4;
		} B;
		volatile unsigned long W;
	} DHR12RD;
	union
	{
		struct
		{
			volatile unsigned long NC			:4;
			volatile unsigned long DACC1DHR	:12;
			volatile unsigned long NC1		:4;
			volatile unsigned long DACC2DHR	:12;
		} B;
		volatile unsigned long W;
	} DHR12LD;
	union
	{
		struct
		{
			volatile unsigned long DACC1DHR	:8;
			volatile unsigned long DACC2DHR	:8;
			volatile unsigned long NC1		:16;
		} B;
		volatile unsigned long W;
	} DHR8RD;
	union
	{
		struct
		{
			volatile unsigned long DACC1DOR	:12;
			volatile unsigned long NC			:20;
		} B;
		volatile unsigned long W;
	} DOR1;
	union
	{
		struct
		{
			volatile unsigned long DACC1DOR	:12;
			volatile unsigned long NC			:20;
		} B;
		volatile unsigned long W;
	} DOR2;
} DAC_T;

/*------------------------ Debug MCU -----------------------------------------*/
typedef struct
{
	volatile unsigned long IDCODE;
	volatile unsigned long CR;	
}DBGMCU_T;

/*------------------------ DMA Controller ------------------------------------*/
typedef struct
{
	union
	{
		struct
		{
			volatile unsigned long EN			:1;
			volatile unsigned long TCIE		:1;
			volatile unsigned long HTIE		:1;

⌨️ 快捷键说明

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