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

📄 mc68vz328.h

📁 一个linux下的usb接口源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
#define PD_INT0		0x01	/* Use INT0 as PD[0] */#define PD_INT1		0x02	/* Use INT1 as PD[1] */#define PD_INT2		0x04	/* Use INT2 as PD[2] */#define PD_INT3		0x08	/* Use INT3 as PD[3] */#define PD_IRQ1		0x10	/* Use IRQ1 as PD[4] */#define PD_IRQ2		0x20	/* Use IRQ2 as PD[5] */#define PD_IRQ3		0x40	/* Use IRQ3 as PD[6] */#define PD_IRQ6		0x80	/* Use IRQ6 as PD[7] *//*  * Port E */#define PEDIR_ADDR	0xfffff420		/* Port E direction reg */#define PEDATA_ADDR	0xfffff421		/* Port E data register */#define PEPUEN_ADDR	0xfffff422		/* Port E Pull-Up enable reg */#define PESEL_ADDR	0xfffff423		/* Port E Select Register */#define PEDIR		BYTE_REF(PEDIR_ADDR)#define PEDATA		BYTE_REF(PEDATA_ADDR)#define PEPUEN		BYTE_REF(PEPUEN_ADDR)#define PESEL		BYTE_REF(PESEL_ADDR)#define PE(x)		(1 << (x))#define PE_SPMTXD	0x01	/* Use SPMTXD as PE[0] */#define PE_SPMRXD	0x02	/* Use SPMRXD as PE[1] */#define PE_SPMCLK	0x04	/* Use SPMCLK as PE[2] */#define PE_DWE		0x08	/* Use DWE    as PE[3] */#define PE_RXD		0x10	/* Use RXD    as PE[4] */#define PE_TXD		0x20	/* Use TXD    as PE[5] */#define PE_RTS		0x40	/* Use RTS    as PE[6] */#define PE_CTS		0x80	/* Use CTS    as PE[7] *//*  * Port F */#define PFDIR_ADDR	0xfffff428		/* Port F direction reg */#define PFDATA_ADDR	0xfffff429		/* Port F data register */#define PFPUEN_ADDR	0xfffff42a		/* Port F Pull-Up enable reg */#define PFSEL_ADDR	0xfffff42b		/* Port F Select Register */#define PFDIR		BYTE_REF(PFDIR_ADDR)#define PFDATA		BYTE_REF(PFDATA_ADDR)#define PFPUEN		BYTE_REF(PFPUEN_ADDR)#define PFSEL		BYTE_REF(PFSEL_ADDR)#define PF(x)		(1 << (x))#define PF_LCONTRAST	0x01	/* Use LCONTRAST as PF[0] */#define PF_IRQ5         0x02    /* Use IRQ5      as PF[1] */#define PF_CLKO         0x04    /* Use CLKO      as PF[2] */#define PF_A20          0x08    /* Use A20       as PF[3] */#define PF_A21          0x10    /* Use A21       as PF[4] */#define PF_A22          0x20    /* Use A22       as PF[5] */#define PF_A23          0x40    /* Use A23       as PF[6] */#define PF_CSA1		0x80    /* Use CSA1      as PF[7] *//*  * Port G */#define PGDIR_ADDR	0xfffff430		/* Port G direction reg */#define PGDATA_ADDR	0xfffff431		/* Port G data register */#define PGPUEN_ADDR	0xfffff432		/* Port G Pull-Up enable reg */#define PGSEL_ADDR	0xfffff433		/* Port G Select Register */#define PGDIR		BYTE_REF(PGDIR_ADDR)#define PGDATA		BYTE_REF(PGDATA_ADDR)#define PGPUEN		BYTE_REF(PGPUEN_ADDR)#define PGSEL		BYTE_REF(PGSEL_ADDR)#define PG(x)		(1 << (x))#define PG_BUSW_DTACK	0x01	/* Use BUSW/DTACK as PG[0] */#define PG_A0		0x02	/* Use A0         as PG[1] */#define PG_EMUIRQ	0x04	/* Use EMUIRQ     as PG[2] */#define PG_HIZ_P_D	0x08	/* Use HIZ/P/D    as PG[3] */#define PG_EMUCS        0x10	/* Use EMUCS      as PG[4] */#define PG_EMUBRK	0x20	/* Use EMUBRK     as PG[5] *//*Add by he,2001.8.10*//*  * Port J */#define PJDIR_ADDR	0xfffff438		/* Port J direction reg */#define PJDATA_ADDR	0xfffff439		/* Port J data register */#define PJPUEN_ADDR	0xfffff43a		/* Port J Pull-Up enable reg */#define PJSEL_ADDR	0xfffff43b		/* Port J Select Register */#define PJDIR		BYTE_REF(PJDIR_ADDR)#define PJDATA		BYTE_REF(PJDATA_ADDR)#define PJPUEN		BYTE_REF(PJPUEN_ADDR)#define PJSEL		BYTE_REF(PJSEL_ADDR)/*End by he.*/#define PKDIR_ADDR	0xfffff440		/* Port J direction reg */#define PKDATA_ADDR	0xfffff441		/* Port J data register */#define PKPUEN_ADDR	0xfffff442		/* Port J Pull-Up enable reg */#define PKSEL_ADDR	0xfffff443		/* Port J Select Register */#define PKDIR		BYTE_REF(PKDIR_ADDR)#define PKDATA		BYTE_REF(PKDATA_ADDR)#define PKPUEN		BYTE_REF(PKPUEN_ADDR)#define PKSEL		BYTE_REF(PKSEL_ADDR)/********** * * 0xFFFFF5xx -- Pulse-Width Modulator (PWM) * **********//* * PWM Control Register  */#define PWMC_ADDR	0xfffff500#define PWMC		WORD_REF(PWMC_ADDR)#define PWMC_CLKSEL_MASK	0x0003	/* Clock Selection */#define PWMC_CLKSEL_SHIFT	0#define PWMC_REPEAT_MASK	0x000c	/* Sample Repeats */#define PWMC_REPEAT_SHIFT	2#define PWMC_EN			0x0010	/* Enable PWM */#define PMNC_FIFOAV		0x0020	/* FIFO Available */#define PWMC_IRQEN		0x0040	/* Interrupt Request Enable */#define PWMC_IRQ		0x0080	/* Interrupt Request (FIFO empty) */#define PWMC_PRESCALER_MASK	0x7f00	/* Incoming Clock prescaler */#define PWMC_PRESCALER_SHIFT	8#define PWMC_CLKSRC		0x8000	/* Clock Source Select *//* '328-compatible definitions */#define PWMC_PWMEN	PWMC_EN/* * PWM Sample Register  */#define PWMS_ADDR	0xfffff502#define PWMS		WORD_REF(PWMS_ADDR)/* * PWM Period Register */#define PWMP_ADDR	0xfffff504#define PWMP		BYTE_REF(PWMP_ADDR)/* * PWM Counter Register */#define PWMCNT_ADDR	0xfffff505#define PWMCNT		BYTE_REF(PWMCNT_ADDR)/********** * * 0xFFFFF6xx -- General-Purpose Timer * **********//*  * Timer Control register */#define TCTL_ADDR	0xfffff600#define TCTL		WORD_REF(TCTL_ADDR)#define	TCTL_TEN		0x0001	/* Timer Enable  */#define TCTL_CLKSOURCE_MASK 	0x000e	/* Clock Source: */#define   TCTL_CLKSOURCE_STOP	   0x0000	/* Stop count (disabled)    */#define   TCTL_CLKSOURCE_SYSCLK	   0x0002	/* SYSCLK to prescaler      */#define   TCTL_CLKSOURCE_SYSCLK_16 0x0004	/* SYSCLK/16 to prescaler   */#define   TCTL_CLKSOURCE_TIN	   0x0006	/* TIN to prescaler         */#define   TCTL_CLKSOURCE_32KHZ	   0x0008	/* 32kHz clock to prescaler */#define TCTL_IRQEN		0x0010	/* IRQ Enable    */#define TCTL_OM			0x0020	/* Output Mode   */#define TCTL_CAP_MASK		0x00c0	/* Capture Edge: */#define	  TCTL_CAP_RE		0x0040		/* Capture on rizing edge   */#define   TCTL_CAP_FE		0x0080		/* Capture on falling edge  */#define TCTL_FRR		0x0010	/* Free-Run Mode *//* '328-compatible definitions */#define TCTL1_ADDR	TCTL_ADDR#define TCTL1		TCTL/* * Timer Prescaler Register */#define TPRER_ADDR	0xfffff602#define TPRER		WORD_REF(TPRER_ADDR)/* '328-compatible definitions */#define TPRER1_ADDR	TPRER_ADDR#define TPRER1		TPRER/* * Timer Compare Register */#define TCMP_ADDR	0xfffff604#define TCMP		WORD_REF(TCMP_ADDR)/* '328-compatible definitions */#define TCMP1_ADDR	TCMP_ADDR#define TCMP1		TCMP/* * Timer Capture register */#define TCR_ADDR	0xfffff606#define TCR		WORD_REF(TCR_ADDR)/* '328-compatible definitions */#define TCR1_ADDR	TCR_ADDR#define TCR1		TCR/* * Timer Counter Register */#define TCN_ADDR	0xfffff608#define TCN		WORD_REF(TCN_ADDR)/* '328-compatible definitions */#define TCN1_ADDR	TCN_ADDR#define TCN1		TCN/* * Timer Status Register */#define TSTAT_ADDR	0xfffff60a#define TSTAT		WORD_REF(TSTAT_ADDR)#define TSTAT_COMP	0x0001		/* Compare Event occurred */#define TSTAT_CAPT	0x0001		/* Capture Event occurred *//* '328-compatible definitions */#define TSTAT1_ADDR	TSTAT_ADDR#define TSTAT1		TSTAT/********** * * 0xFFFFF8xx -- Serial Periferial Interface Master (SPIM) * **********//* * SPIM Data Register */#define SPIMDATA_ADDR	0xfffff800#define SPIMDATA	WORD_REF(SPIMDATA_ADDR)/* * SPIM Control/Status Register */#define SPIMCONT_ADDR	0xfffff802#define SPIMCONT	WORD_REF(SPIMCONT_ADDR)#define SPIMCONT_BIT_COUNT_MASK	 0x000f	/* Transfer Length in Bytes */#define SPIMCONT_BIT_COUNT_SHIFT 0#define SPIMCONT_POL		 0x0010	/* SPMCLK Signel Polarity */#define	SPIMCONT_PHA		 0x0020	/* Clock/Data phase relationship */#define SPIMCONT_IRQEN		 0x0040 /* IRQ Enable */#define SPIMCONT_IRQ		 0x0080	/* Interrupt Request */#define SPIMCONT_XCH		 0x0100	/* Exchange */#define SPIMCONT_ENABLE		 0x0200	/* Enable SPIM */#define SPIMCONT_DATA_RATE_MASK	 0xe000	/* SPIM Data Rate */#define SPIMCONT_DATA_RATE_SHIFT 13/* '328-compatible definitions */#define SPIMCONT_SPIMIRQ	SPIMCONT_IRQ#define SPIMCONT_SPIMEN		SPIMCONT_ENABLE/********** * * 0xFFFFF9xx -- UART * **********//* * UART Status/Control Register *//* #define USTCNT_ADDR	0xfffff900#define USTCNT		WORD_REF(USTCNT_ADDR) */#define USTCNT_TXAE	0x0001	/* Transmitter Available Interrupt Enable */#define USTCNT_TXHE	0x0002	/* Transmitter Half Empty Enable */#define USTCNT_TXEE	0x0004	/* Transmitter Empty Interrupt Enable */#define USTCNT_RXRE	0x0008	/* Receiver Ready Interrupt Enable */#define USTCNT_RXHE	0x0010	/* Receiver Half-Full Interrupt Enable */#define USTCNT_RXFE	0x0020	/* Receiver Full Interrupt Enable */#define USTCNT_CTSD	0x0040	/* CTS Delta Interrupt Enable */#define USTCNT_ODEN	0x0080	/* Old Data Interrupt Enable */#define USTCNT_8_7	0x0100	/* Eight or seven-bit transmission */#define USTCNT_STOP	0x0200	/* Stop bit transmission */#define USTCNT_ODD	0x0400	/* Odd Parity */#define	USTCNT_PEN	0x0800	/* Parity Enable */#define USTCNT_CLKM	0x1000	/* Clock Mode Select */#define	USTCNT_TXEN	0x2000	/* Transmitter Enable */#define USTCNT_RXEN	0x4000	/* Receiver Enable */#define USTCNT_UEN	0x8000	/* UART Enable *//* '328-compatible definitions */#define USTCNT_TXAVAILEN	USTCNT_TXAE#define USTCNT_TXHALFEN		USTCNT_TXHE#define USTCNT_TXEMPTYEN	USTCNT_TXEE#define USTCNT_RXREADYEN	USTCNT_RXRE#define USTCNT_RXHALFEN		USTCNT_RXHE#define USTCNT_RXFULLEN		USTCNT_RXFE#define USTCNT_CTSDELTAEN	USTCNT_CTSD#define USTCNT_ODD_EVEN		USTCNT_ODD#define USTCNT_PARITYEN		USTCNT_PEN#define USTCNT_CLKMODE		USTCNT_CLKM#define USTCNT_UARTEN		USTCNT_UEN/* * UART Baud Control Register */#define UBAUD_ADDR	0xfffff902/* #define UBAUD		WORD_REF(UBAUD_ADDR) */#define UBAUD_PRESCALER_MASK	0x003f	/* Actual divisor is 65 - PRESCALER */#define UBAUD_PRESCALER_SHIFT	0#define UBAUD_DIVIDE_MASK	0x0700	/* Baud Rate freq. divizor */#define UBAUD_DIVIDE_SHIFT	8#define UBAUD_BAUD_SRC		0x0800	/* Baud Rate Source */#define UBAUD_UCLKDIR		0x2000	/* UCLK Direction *//* * UART Receiver Register  */#define URX_ADDR	0xfffff904/*#define URX		WORD_REF(URX_ADDR)#define URX_RXDATA_ADDR	0xfffff905#define URX_RXDATA	BYTE_REF(URX_RXDATA_ADDR) */#define URX_RXDATA_MASK	 0x00ff	/* Received data */#define URX_RXDATA_SHIFT 0#define URX_PARITY_ERROR 0x0100	/* Parity Error */#define URX_BREAK	 0x0200	/* Break Detected */#define URX_FRAME_ERROR	 0x0400	/* Framing Error */#define URX_OVRUN	 0x0800	/* Serial Overrun */#define URX_OLD_DATA	 0x1000	/* Old data in FIFO */#define URX_DATA_READY	 0x2000	/* Data Ready (FIFO not empty) */#define URX_FIFO_HALF	 0x4000 /* FIFO is Half-Full */#define URX_FIFO_FULL	 0x8000	/* FIFO is Full *//* * UART Transmitter Register  */#define UTX_ADDR	0xfffff906/*#define UTX		WORD_REF(UTX_ADDR) */#define UTX_TXDATA_ADDR	0xfffff907/*#define UTX_TXDATA	BYTE_REF(UTX_TXDATA_ADDR) */#define UTX_TXDATA_MASK	 0x00ff	/* Data to be transmitted */#define UTX_TXDATA_SHIFT 0#define UTX_CTS_DELTA	 0x0100	/* CTS changed */#define UTX_CTS_STAT	 0x0200	/* CTS State */#define	UTX_BUSY	 0x0400	/* FIFO is busy, sending a character */#define	UTX_NOCTS	 0x0800	/* Ignore CTS */#define UTX_SEND_BREAK	 0x1000	/* Send a BREAK */#define UTX_TX_AVAIL	 0x2000	/* Transmit FIFO has a slot available */#define UTX_FIFO_HALF	 0x4000	/* Transmit FIFO is half empty */#define UTX_FIFO_EMPTY	 0x8000	/* Transmit FIFO is empty *//* '328-compatible definitions */#define UTX_CTS_STATUS	UTX_CTS_STAT#define UTX_IGNORE_CTS	UTX_NOCTS/* * UART Miscellaneous Register  */#define UMISC_ADDR	0xfffff908#define UMISC		WORD_REF(UMISC_ADDR)#define UMISC_TX_POL	 0x0004	/* Transmit Polarity */#define UMISC_RX_POL	 0x0008	/* Receive Polarity */#define UMISC_IRDA_LOOP	 0x0010	/* IrDA Loopback Enable */#define UMISC_IRDA_EN	 0x0020	/* Infra-Red Enable */#define UMISC_RTS	 0x0040	/* Set RTS status */#define UMISC_RTSCONT	 0x0080	/* Choose RTS control */#define UMISC_IR_TEST	 0x0400	/* IRDA Test Enable */#define UMISC_BAUD_RESET 0x0800	/* Reset Baud Rate Generation Counters */#define UMISC_LOOP	 0x1000	/* Serial Loopback Enable */#define UMISC_FORCE_PERR 0x2000	/* Force Parity Error */#define UMISC_CLKSRC	 0x4000	/* Clock Source */#define UMISC_BAUD_TEST	 0x8000	/* Enable Baud Test Mode *//*  * UART Non-integer Prescaler Register */#define NIPR_ADDR	0xfffff90a#define NIPR		WORD_REF(NIPR_ADDR)#define NIPR_STEP_VALUE_MASK	0x00ff	/* NI prescaler step value */#define NIPR_STEP_VALUE_SHIFT	0#define NIPR_SELECT_MASK	0x0700	/* Tap Selection */#define NIPR_SELECT_SHIFT	8#define NIPR_PRE_SEL		0x8000	/* Non-integer prescaler select *//* generalization of uart control registers to support multiple ports: *//*typedef struct {  volatile unsigned short int ustcnt __attribute__((packed));  volatile unsigned short int ubaud  __attribute__((packed));  union {    volatile unsigned short int w    __attribute__((packed));    struct {      volatile unsigned char status  __attribute__((packed));      volatile unsigned char rxdata  __attribute__((packed));    } b;  } urx;  union {    volatile unsigned short int w    __attribute__((packed));    struct {      volatile unsigned char status  __attribute__((packed));      volatile unsigned char txdata  __attribute__((packed));    } b;  } utx;  volatile unsigned short int umisc  __attribute__((packed));  volatile unsigned short int nipr   __attribute__((packed));} m68328_uart;*//********** * * 0xFFFFFAxx -- LCD Controller * **********/

⌨️ 快捷键说明

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