📄 at91sam7s.h
字号:
/* * MEMORY CONTROLLER (MC) */#define TADR_MC_BASE 0xFFFFFF00 /* Memory Controller BASE address */#define TOFF_MC_RCR 0x0000 /* MC Remap Control Register (W) */#define TOFF_MC_ASR 0x0004 /* MC Abort Status Register (R) */#define TOFF_MC_AASR 0x0008 /* MC Abort Address Status Register (R) */#define TOFF_MC_FMR 0x0060 /* MC Flash Mode Register(R/W) */ #define MC_FMR_FWS_0FWS (0<<8) #define MC_FMR_FWS_1FWS (1<<8) #define MC_FMR_FWS_2FWS (2<<8) #define MC_FMR_FWS_3FWS (3<<8) #define MC_FMR_FMCN_SHIFT 16#define TOFF_MC_FCR 0x0064 /* MC Flash Command Register (W) */#define TOFF_MC_FSR 0x0068 /* MC Flash Status Register (R) *//* * TIMER COUNTER */#define TADR_TC_BASE 0xFFFA0000 /* Timer Counter BASE ADDRESS */#define TC_WINDOW 0x0040 /* Timer Counter window size */#define TOFF_TC_CCR 0x0000 /* Channel Control Register (W) */ #define TC_CLKEN (1<<0) /* (TC) Counter Clock Enable Command */ #define TC_CLKDIS (1<<1) /* (TC) Counter Clock Disable Command */ #define TC_SWTRG (1<<2) /* (TC) Software Trigger Command */#define TOFF_TC_CMR 0x0004 /* Channel Mode Register (R/W) */ #define TC_CLKS 0x7 #define TC_CLKS_MCK2 0x0 #define TC_CLKS_MCK8 0x1 #define TC_CLKS_MCK32 0x2 #define TC_CLKS_MCK128 0x3 #define TC_CLKS_MCK1024 0x4 #define TC_WAVESEL00 (0<<13) /* (TC) UP mode without atomatic trigger on RC Compare */ #define TC_WAVESEL01 (1<<13) /* (TC) UPDOWN mode without automatic trigger on RC Compare */ #define TC_WAVESEL10 (2<<13) /* (TC) UP mode with automatic trigger on RC Compare */ #define TC_WAVESEL11 (3<<13) /* (TC) UPDOWN mode with automatic trigger on RC Compare */#define TOFF_TC_CV 0x0010 /* Counter Value (R) */#define TOFF_TC_RA 0x0014 /* Register A (R/W) */#define TOFF_TC_RB 0x0018 /* Register B (R/W) */#define TOFF_TC_RC 0x001C /* Register C (R/W) */#define TOFF_TC_SR 0x0020 /* Statis Register (R) */ #define TC_COVFS (1<<0) /* (TC) Counter Overflow */ #define TC_LOVRS (1<<1) /* (TC) Load Overrun */ #define TC_CPAS (1<<2) /* (TC) RA Compare */ #define TC_CPBS (1<<3) /* (TC) RB Compare */ #define TC_CPCS (1<<4) /* (TC) RC Compare */ #define TC_LDRAS (1<<5) /* (TC) RA Loading */ #define TC_LDRBS (1<<6) /* (TC) RB Loading */ #define TC_ETRGS (1<<7) /* (TC) External Trigger */ #define TC_CLKSTA (1<<16) /* (TC) Clock Enabling */ #define TC_MTIOA (1<<17) /* (TC) TIOA Mirror */ #define TC_MTIOB (1<<18) /* (TC) TIOA Mirror */#define TOFF_TC_IER 0x0024 /* Interrupt Enable Register (W) */#define TOFF_TC_IDR 0x0028 /* Interrupt Disable Register (W) */#define TOFF_TC_IMR 0x002C /* Interrupt Mask Register (R) */#define TOFF_TC_BCR 0x00C0 /* TC Block Control Register (W) */#define TOFF_TC_BMR 0x00C4 /* TC Block Mode Register (R/W) *//* * USB DEVICE PORT (UDP) */#define TADR_UDP_BASE 0xFFFB0000 /* USB Device Port BASE Address */#define TOFF_UDP_FRM_NUM 0x0000 /* Frame Number Register (R) */ #define UDP_FRM_NUM (0x7FF) /* Frame Number as Defined in the Packet Field Formats */ #define UDP_FRM_ERR (1<< 16) /* Frame Error */ #define UDP_FRM_OK (1<< 17) /* Frame OK */#define TOFF_UDP_GLB_STAT 0x0004 /* Global State Register (R/W) */ #define UDP_FADDEN (1<<0) /* Function Address Enable */ #define UDP_CONFG (1<<1) /* Configured */ #define UDP_ESR (1<<2) /* Enable Send Resume */ #define UDP_RSMINPR (1<<3) /* A Resume Has Been Sent to the Host */ #define UDP_RMWUPE (1<<4) /* Remote Wake Up Enable */#define TOFF_UDP_FADDR 0x0008 /* Function Address Register (R/W) */ #define UDP_FADD (0xFF<<0) /* Function Address Value */ #define UDP_FEN ( 1<<8) /* Function Enable */#define TOFF_UDP_IER 0x0010 /* Interrupt Enable Register (W) */ #define UDP_IEPINT0 (1<<0) /* Endpoint 0 Interrupt */ #define UDP_IEPINT1 (1<<1) /* Endpoint 0 Interrupt */ #define UDP_IEPINT2 (1<<2) /* Endpoint 2 Interrupt */ #define UDP_IEPINT3 (1<<3) /* Endpoint 3 Interrupt */ #define UDP_IEPINT4 (1<<4) /* Endpoint 4 Interrupt */ #define UDP_IEPINT5 (1<<5) /* Endpoint 5 Interrupt */ #define UDP_IEPINT6 (1<<6) /* Endpoint 6 Interrupt */ #define UDP_IEPINT7 (1<<7) /* Endpoint 7 Interrupt */ #define UDP_IRXSUSP (1<<8) /* USB Suspend Interrupt */ #define UDP_IRXRSM (1<<9) /* USB Resume Interrupt */ #define UDP_IEXTRSM (1<<10) /* USB External Resume Interrupt */ #define UDP_ISOFINT (1<<11) /* USB Start Of frame Interrupt */ #define UDP_IWAKEUP (1<<13) /* USB Walkup Interrupt */#define TOFF_UDP_IDR 0x0014 /* Interrupt Disable Register (W) */#define TOFF_UDP_IMR 0x0018 /* Interrupt Mask Register (R) */#define TOFF_UDP_ISR 0x001C /* Interrupt Status Register (R) */ #define UDP_ENDBUSRES (1<<12) /* USB End Of Bus Reset Interrupt */#define TOFF_UDP_ICR 0x0020 /* Interrupt Clear Register (W) */#define TOFF_UDP_RST_EP 0x0028 /* Reset Endpoint Register (R/W) */ #define UDP_EP0 (1<<0) /* Reset Endpoint 0 */ #define UDP_EP1 (1<<1) /* Reset Endpoint 1 */ #define UDP_EP2 (1<<2) /* Reset Endpoint 2 */ #define UDP_EP3 (1<<3) /* Reset Endpoint 3 */ #define UDP_EP4 (1<<4) /* Reset Endpoint 4 */ #define UDP_EP5 (1<<5) /* Reset Endpoint 5 */ #define UDP_EP6 (1<<6) /* Reset Endpoint 6 */ #define UDP_EP7 (1<<7) /* Reset Endpoint 7 */#define TOFF_UDP_CSR 0x0030 /* Endpoint Control Status Register (R/W) */#define TOFF_UDP_CSR0 0x0030 /* Endpoint0 Control Status Register (R/W) */#define TOFF_UDP_CSR1 0x0034 /* Endpoint1 Control Status Register (R/W) */#define TOFF_UDP_CSR2 0x0038 /* Endpoint2 Control Status Register (R/W) */#define TOFF_UDP_CSR3 0x003C /* Endpoint3 Control Status Register (R/W) */ #define UDP_TXCOMP (1<<0) /* Generates an IN packet with data previously written in the DPR */ #define UDP_RX_DATA_BK0 (1<<1) /* Receive Data Bank 0 */ #define UDP_RXSETUP (1<<2) /* Sends STALL to the Host (Control endpoints) */ #define UDP_ISOERROR (1<<3) /* Isochronous error (Isochronous endpoints) */ #define UDP_TXPKTRDY (1<<4) /* Transmit Packet Ready */ #define UDP_FORCESTALL (1<<5) /* Force Stall (used by Control, Bulk and Isochronous endpoints). */ #define UDP_RX_DATA_BK1 (1<<6) /* Receive Data Bank 1 (only used by endpoints with ping-pong attributes). */ #define UDP_DIR (1<<7) /* Transfer Direction */ #define UDP_EPTYPE (7<<8) /* Endpoint type */ #define UDP_EPTYPE_CTRL (0<<8) /* Control */ #define UDP_EPTYPE_ISO_OUT (1<<8) /* Isochronous OUT */ #define UDP_EPTYPE_BULK_OUT (2<<8) /* Bulk OUT */ #define UDP_EPTYPE_INT_OUT (3<<8) /* Interrupt OUT */ #define UDP_EPTYPE_ISO_IN (5<<8) /* Isochronous IN */ #define UDP_EPTYPE_BULK_IN (6<<8) /* Bulk IN */ #define UDP_EPTYPE_INT_IN (7<<8) /* Interrupt IN */ #define UDP_DTGLE (1<<11) /* Data Toggle */ #define UDP_EPEDS (1<<15) /* Endpoint Enable Disable */ #define UDP_RXBYTECNT (0x7FF<<16) /* Number Of Bytes Available in the FIFO */#define TOFF_UDP_FDR 0x0050 /* Endpoint FIFO Data Register (R/W) */#define TOFF_UDP_FDR0 0x0050 /* Endpoint0 FIFO Data Register (R/W) */#define TOFF_UDP_FDR1 0x0054 /* Endpoint1 FIFO Data Register (R/W) */#define TOFF_UDP_FDR2 0x0058 /* Endpoint2 FIFO Data Register (R/W) */#define TOFF_UDP_FDR3 0x005C /* Endpoint3 FIFO Data Register (R/W) */#define TOFF_UDP_TXVC 0x0074 /* Transmitter Control Register (R/W) */ #define UDP_TXVDIS (1<<8) /* */ #define UDP_PUON (1<<9) /* Pull-up ON *//* * TWO-WIRE INTERFACE (TWI) */#define TADR_TWI_BASE 0xFFFB8000 /* Two-wire Interface BASE address */#define TOFF_TWI_CR 0x0000 /* Control Register (W) */#define TOFF_TWI_MMR 0x0004 /* Master Mode Register (R/W) */#define TOFF_TWI_IADR 0x000C /* Internal Address Register (R/W) */#define TOFF_TWI_CWGR 0x0010 /* Clock Wavefrom Generator Register (R/W) */#define TOFF_TWI_SR 0x0020 /* Status Register (R) */#define TOFF_TWI_IER 0x0024 /* Interrupt Enable Register (W) */#define TOFF_TWI_IDR 0x0028 /* Interrupt Disable Register (W) */#define TOFF_TWI_IMR 0x002C /* Interrupt Mask Register (R) */#define TOFF_TWI_RHR 0x0030 /* Receive Holding Register (R) */#define TOFF_TWI_THR 0x0034 /* Transmit Holding Register (R/W) *//* * UNIVERSAL SYNCHRONOUS ASYNCHRONOUS RECEIVER TRANSMITTER(USART) */#define TADR_US_BASE 0xFFFC0000 /* USART BASE address */#define US_WINDOW 0x4000 /* USART Window size */#define TOFF_US_CR 0x0000 /* Control Register (W) */ #define US_RSTRX 0x0004 /* Reset Receiver */ #define US_RSTTX 0x0008 /* Reset Transmitter */ #define US_RXEN 0x0010 /* Receiver Enable */ #define US_RXDIS 0x0020 /* Receiver Disable */ #define US_TXEN 0x0040 /* Transmitter Enable */ #define US_TXDIS 0x0080 /* Transmitter Disable */ #define US_RSTSTA 0x0100 /* Reset Status Bits */ #define US_STTBRK 0x0200 /* Start Break */ #define US_STPBRK 0x0400 /* Stop Break */ #define US_STTTO 0x0800 /* Start Time-out */ #define US_SENDA 0x1000 /* Send Address */#define TOFF_US_MR 0x0004 /* Mode Register (R/W) */ #define US_CLKS 0x0030 /* Clock Selection */ #define US_CLKS_MCK 0x0000 /* Master Clock */ #define US_CLKS_MCK8 0x0010 /* Master Clock divided by 8 */ #define US_CLKS_SCK 0x0020 /* External Clock */ #define US_CLKS_SLCK 0x0030 /* Slow Clock */ #define US_CHRL 0x00C0 /* Byte Length */ #define US_CHRL_5 0x0000 /* 5 bits */ #define US_CHRL_6 0x0040 /* 6 bits */ #define US_CHRL_7 0x0080 /* 7 bits */ #define US_CHRL_8 0x00C0 /* 8 bits */ #define US_PAR 0x0E00 /* Parity Mode */ #define US_PAR_EVEN 0x0000 /* Even Parity */ #define US_PAR_ODD 0x0200 /* Odd Parity */ #define US_PAR_SPACE 0x0400 /* Space Parity to 0 */ #define US_PAR_MARK 0x0600 /* Marked Parity to 1 */ #define US_PAR_NO 0x0800 /* No Parity */ #define US_PAR_MULTIDROP 0x0C00 /* Multi-drop Mode */ #define US_NBSTOP 0x3000 /* Stop Bit Number */ #define US_NBSTOP_1 0x0000 /* 1 Stop Bit */ #define US_NBSTOP_1_5 0x1000 /* 1.5 Stop Bits */ #define US_NBSTOP_2 0x2000 /* 2 Stop Bits */ #define US_CHMODE 0xC000 /* Channel Mode */ #define US_CHMODE_NORMAL 0x0000 /* Normal Mode */ #define US_CHMODE_AUTOMATIC_ECHO 0x4000 /* Automatic Echo */ #define US_CHMODE_LOCAL_LOOPBACK 0x8000 /* Local Loopback */ #define US_CHMODE_REMOTE_LOOPBACK 0xC000 /* Remote Loopback */#define TOFF_US_IER 0x0008 /* Interrupt Enable Register (W) */#define TOFF_US_IDR 0x000C /* Interrupt Disable Register (W) */#define TOFF_US_IMR 0x0010 /* Interrupt Mask Register (R) */#define TOFF_US_CSR 0x0014 /* Channel Staus Register (R) */ #define US_RXRDY 0x0001 /* Receiver Ready */ #define US_TXRDY 0x0002 /* Transmitter Ready */ #define US_RXBRK 0x0004 /* Receiver Break */ #define US_ENDRX 0x0008 /* End of Receiver PDC Transfer */ #define US_ENDTX 0x0010 /* End of Transmitter PDC Transfer */ #define US_OVRE 0x0020 /* Overrun Error */ #define US_FRAME 0x0040 /* Framing Error */ #define US_PARE 0x0080 /* Parity Error */ #define US_TIMEOUT 0x0100 /* Receiver Timeout */ #define US_TXEMPTY 0x0200 /* Transmitter Empty */#define TOFF_US_RHR 0x0018 /* Receiver Holding Register (R) */#define TOFF_US_THR 0x001C /* Transmitter Holding Register (W) */#define TOFF_US_BRGR 0x0020 /* Baud Rate Generator Register (R/W) */#define TOFF_US_RTOR 0x0024 /* Receiver Time-out Register (R/W) */#define TOFF_US_TTGR 0x0028 /* Transmitter Timeguard Register (R/W) */#define TOFF_US_FIDI 0x0040 /* FIDI Ratio Register (R/W) */#define TOFF_US_NER 0x0044 /* Number of Errors Register (R) */#define TOFF_US_IF 0x004C /* IrDA Filter Register (R/W) */#define TOFF_US_MAN 0x0050 /* Manchester Encoder Decoder Register (R/W) *//* * PUSE WIDTH MODULATION CONTROLLER */#define TADR_PWM_BASE 0xFFFCC000 /* Pluse Widh Modulation Controller BASE address */#define TOFF_PWM_MR 0x0000 /* PWM Mode Register (R/W) */#define TOFF_PWM_ENA 0x0004 /* PWM Enable Register (W) */#define TOFF_PWM_DIS 0x0008 /* PWM Disable Register (W) */#define TOFF_PWM_SR 0x000C /* PWM Status Register (R) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -