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

📄 at91rm9200_ssc.h

📁 ARM板驱动程序源代码
💻 H
字号:
/* ----------------------------------------------------------------------------*//*          ATMEL Microcontroller Software Support  -  ROUSSET  -*//* ----------------------------------------------------------------------------*//*  The software is delivered "AS IS" without warranty or condition of any*//*  kind, either express, implied or statutory. This includes without*//*  limitation any warranty or condition with respect to merchantability or*//*  fitness for any particular purpose, or against the infringements of*//*  intellectual property rights of others.*//* ----------------------------------------------------------------------------*//* File Name           : AT91RM9200.h*//* Object              : AT91RM9200 / SSC definitions*//* Generated           : AT91 SW Application Group  12/03/2002 (10:48:02)*//* *//* ----------------------------------------------------------------------------*/#ifndef AT91RM9200_SSC_H#define AT91RM9200_SSC_H/* ******************************************************************************//*              SOFTWARE API DEFINITION  FOR Synchronous Serial Controller Interface*//* ******************************************************************************/#ifndef __ASSEMBLY__typedef struct _AT91S_SSC {	AT91_REG	 SSC_CR; 	/* Control Register*/	AT91_REG	 SSC_CMR; 	/* Clock Mode Register*/	AT91_REG	 Reserved0[2]; 	/* */	AT91_REG	 SSC_RCMR; 	/* Receive Clock ModeRegister*/	AT91_REG	 SSC_RFMR; 	/* Receive Frame Mode Register*/	AT91_REG	 SSC_TCMR; 	/* Transmit Clock Mode Register*/	AT91_REG	 SSC_TFMR; 	/* Transmit Frame Mode Register*/	AT91_REG	 SSC_RHR; 	/* Receive Holding Register*/	AT91_REG	 SSC_THR; 	/* Transmit Holding Register*/	AT91_REG	 Reserved1[2]; 	/* */	AT91_REG	 SSC_RSHR; 	/* Receive Sync Holding Register*/	AT91_REG	 SSC_TSHR; 	/* Transmit Sync Holding Register*/	AT91_REG	 SSC_RC0R; 	/* Receive Compare 0 Register*/	AT91_REG	 SSC_RC1R; 	/* Receive Compare 1 Register*/	AT91_REG	 SSC_SR; 	/* Status Register*/	AT91_REG	 SSC_IER; 	/* Interrupt Enable Register*/	AT91_REG	 SSC_IDR; 	/* Interrupt Disable Register*/	AT91_REG	 SSC_IMR; 	/* Interrupt Mask Register*/	AT91_REG	 Reserved2[44]; 	/* */	AT91_REG	 SSC_RPR; 	/* Receive Pointer Register*/	AT91_REG	 SSC_RCR; 	/* Receive Counter Register*/	AT91_REG	 SSC_TPR; 	/* Transmit Pointer Register*/	AT91_REG	 SSC_TCR; 	/* Transmit Counter Register*/	AT91_REG	 SSC_RNPR; 	/* Receive Next Pointer Register*/	AT91_REG	 SSC_RNCR; 	/* Receive Next Counter Register*/	AT91_REG	 SSC_TNPR; 	/* Transmit Next Pointer Register*/	AT91_REG	 SSC_TNCR; 	/* Transmit Next Counter Register*/	AT91_REG	 SSC_PTCR; 	/* PDC Transfer Control Register*/	AT91_REG	 SSC_PTSR; 	/* PDC Transfer Status Register*/} AT91S_SSC, *AT91PS_SSC;#endif/* -------- SSC_CR : (SSC Offset: 0x0) SSC Control Register -------- */#define AT91C_SSC_RXEN        ( 0x1 <<  0) /* (SSC) Receive Enable*/#define AT91C_SSC_RXDIS       ( 0x1 <<  1) /* (SSC) Receive Disable*/#define AT91C_SSC_TXEN        ( 0x1 <<  8) /* (SSC) Transmit Enable*/#define AT91C_SSC_TXDIS       ( 0x1 <<  9) /* (SSC) Transmit Disable*/#define AT91C_SSC_SWRST       ( 0x1 << 15) /* (SSC) Software Reset*//* -------- SSC_RCMR : (SSC Offset: 0x10) SSC Receive Clock Mode Register -------- */#define AT91C_SSC_CKS         ( 0x3 <<  0) /* (SSC) Receive/Transmit Clock Selection*/#define 	AT91C_SSC_CKS_DIV                  ( 0x0) /* (SSC) Divided Clock*/#define 	AT91C_SSC_CKS_TK                   ( 0x1) /* (SSC) TK Clock signal*/#define 	AT91C_SSC_CKS_RK                   ( 0x2) /* (SSC) RK pin*/#define AT91C_SSC_CKO         ( 0x7 <<  2) /* (SSC) Receive/Transmit Clock Output Mode Selection*/#define 	AT91C_SSC_CKO_NONE                 ( 0x0 <<  2) /* (SSC) Receive/Transmit Clock Output Mode: None RK pin: Input-only*/#define 	AT91C_SSC_CKO_CONTINOUS            ( 0x1 <<  2) /* (SSC) Continuous Receive/Transmit Clock RK pin: Output*/#define 	AT91C_SSC_CKO_DATA_TX              ( 0x2 <<  2) /* (SSC) Receive/Transmit Clock only during data transfers RK pin: Output*/#define AT91C_SSC_CKI         ( 0x1 <<  5) /* (SSC) Receive/Transmit Clock Inversion*/#define AT91C_SSC_CKG         ( 0x3 <<  6) /* (SSC) Receive/Transmit Clock Gating Selection*/#define 	AT91C_SSC_CKG_NONE                 ( 0x0 <<  6) /* (SSC) Receive/Transmit Clock Gating: None, continuous clock*/#define 	AT91C_SSC_CKG_LOW                  ( 0x1 <<  6) /* (SSC) Receive/Transmit Clock enabled only if RF Low*/#define 	AT91C_SSC_CKG_HIGH                 ( 0x2 <<  6) /* (SSC) Receive/Transmit Clock enabled only if RF High*/#define AT91C_SSC_START       ( 0xF <<  8) /* (SSC) Receive/Transmit Start Selection*/#define 	AT91C_SSC_START_CONTINOUS            ( 0x0 <<  8) /* (SSC) Continuous, as soon as the receiver is enabled, and immediately after the end of transfer of the previous data.*/#define 	AT91C_SSC_START_TX                   ( 0x1 <<  8) /* (SSC) Transmit/Receive start*/#define 	AT91C_SSC_START_LOW_RF               ( 0x2 <<  8) /* (SSC) Detection of a low level on RF input*/#define 	AT91C_SSC_START_HIGH_RF              ( 0x3 <<  8) /* (SSC) Detection of a high level on RF input*/#define 	AT91C_SSC_START_FALL_RF              ( 0x4 <<  8) /* (SSC) Detection of a falling edge on RF input*/#define 	AT91C_SSC_START_RISE_RF              ( 0x5 <<  8) /* (SSC) Detection of a rising edge on RF input*/#define 	AT91C_SSC_START_LEVEL_RF             ( 0x6 <<  8) /* (SSC) Detection of any level change on RF input*/#define 	AT91C_SSC_START_EDGE_RF              ( 0x7 <<  8) /* (SSC) Detection of any edge on RF input*/#define 	AT91C_SSC_START_0                    ( 0x8 <<  8) /* (SSC) Compare 0*/#define AT91C_SSC_STOP        ( 0x1 << 12) /* (SSC) Receive Stop Selection*/#define AT91C_SSC_STTOUT      ( 0x1 << 15) /* (SSC) Receive/Transmit Start Output Selection*/#define AT91C_SSC_STTDLY      ( 0xFF << 16) /* (SSC) Receive/Transmit Start Delay*/#define AT91C_SSC_PERIOD      ( 0xFF << 24) /* (SSC) Receive/Transmit Period Divider Selection*//* -------- SSC_RFMR : (SSC Offset: 0x14) SSC Receive Frame Mode Register -------- */#define AT91C_SSC_DATLEN      ( 0x1F <<  0) /* (SSC) Data Length*/#define AT91C_SSC_LOOP        ( 0x1 <<  5) /* (SSC) Loop Mode*/#define AT91C_SSC_MSBF        ( 0x1 <<  7) /* (SSC) Most Significant Bit First*/#define AT91C_SSC_DATNB       ( 0xF <<  8) /* (SSC) Data Number per Frame*/#define AT91C_SSC_FSLEN       ( 0xF << 16) /* (SSC) Receive/Transmit Frame Sync length*/#define AT91C_SSC_FSOS        ( 0x7 << 20) /* (SSC) Receive/Transmit Frame Sync Output Selection*/#define 	AT91C_SSC_FSOS_NONE                 ( 0x0 << 20) /* (SSC) Selected Receive/Transmit Frame Sync Signal: None RK pin Input-only*/#define 	AT91C_SSC_FSOS_NEGATIVE             ( 0x1 << 20) /* (SSC) Selected Receive/Transmit Frame Sync Signal: Negative Pulse*/#define 	AT91C_SSC_FSOS_POSITIVE             ( 0x2 << 20) /* (SSC) Selected Receive/Transmit Frame Sync Signal: Positive Pulse*/#define 	AT91C_SSC_FSOS_LOW                  ( 0x3 << 20) /* (SSC) Selected Receive/Transmit Frame Sync Signal: Driver Low during data transfer*/#define 	AT91C_SSC_FSOS_HIGH                 ( 0x4 << 20) /* (SSC) Selected Receive/Transmit Frame Sync Signal: Driver High during data transfer*/#define 	AT91C_SSC_FSOS_TOGGLE               ( 0x5 << 20) /* (SSC) Selected Receive/Transmit Frame Sync Signal: Toggling at each start of data transfer*/#define AT91C_SSC_FSEDGE      ( 0x1 << 24) /* (SSC) Frame Sync Edge Detection*//* -------- SSC_TCMR : (SSC Offset: 0x18) SSC Transmit Clock Mode Register -------- *//* -------- SSC_TFMR : (SSC Offset: 0x1c) SSC Transmit Frame Mode Register -------- */#define AT91C_SSC_DATDEF      ( 0x1 <<  5) /* (SSC) Data Default Value*/#define AT91C_SSC_FSDEN       ( 0x1 << 23) /* (SSC) Frame Sync Data Enable*//* -------- SSC_SR : (SSC Offset: 0x40) SSC Status Register -------- */#define AT91C_SSC_TXRDY       ( 0x1 <<  0) /* (SSC) Transmit Ready*/#define AT91C_SSC_TXEMPTY     ( 0x1 <<  1) /* (SSC) Transmit Empty*/#define AT91C_SSC_ENDTX       ( 0x1 <<  2) /* (SSC) End Of Transmission*/#define AT91C_SSC_TXBUFE      ( 0x1 <<  3) /* (SSC) Transmit Buffer Empty*/#define AT91C_SSC_RXRDY       ( 0x1 <<  4) /* (SSC) Receive Ready*/#define AT91C_SSC_OVRUN       ( 0x1 <<  5) /* (SSC) Receive Overrun*/#define AT91C_SSC_ENDRX       ( 0x1 <<  6) /* (SSC) End of Reception*/#define AT91C_SSC_RXBUFF      ( 0x1 <<  7) /* (SSC) Receive Buffer Full*/#define AT91C_SSC_CP0         ( 0x1 <<  8) /* (SSC) Compare 0*/#define AT91C_SSC_CP1         ( 0x1 <<  9) /* (SSC) Compare 1*/#define AT91C_SSC_TXSYN       ( 0x1 << 10) /* (SSC) Transmit Sync*/#define AT91C_SSC_RXSYN       ( 0x1 << 11) /* (SSC) Receive Sync*/#define AT91C_SSC_TXENA       ( 0x1 << 16) /* (SSC) Transmit Enable*/#define AT91C_SSC_RXENA       ( 0x1 << 17) /* (SSC) Receive Enable*//* -------- SSC_IER : (SSC Offset: 0x44) SSC Interrupt Enable Register -------- *//* -------- SSC_IDR : (SSC Offset: 0x48) SSC Interrupt Disable Register -------- *//* -------- SSC_IMR : (SSC Offset: 0x4c) SSC Interrupt Mask Register -------- */#endif

⌨️ 快捷键说明

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