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

📄 usart.inc

📁 ATMEL公司的arm7处理器AT91R4008的库函数,我之前做的一个项目里面使用到的,在此网站上发现没有类似的资料,贡献给大家,能用到的最好.
💻 INC
字号:
#------------------------------------------------------------------------------
#-         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            : usart.inc
#- Object               : Assembler USART Definition File.
#-
#- 1.0 01/04/00 JCZ     : Creation
#------------------------------------------------------------------------------

#-------------------------------------------
# USART User Interface Structure Definition
#-------------------------------------------
.EQU	US_CR,           	0x0       		/* - Control Register				*/
.EQU	US_MR,           	0x4       		/* - Mode Register                  */
.EQU	US_IER,          	0x8       		/* - Interrupt Enable Register      */
.EQU	US_IDR,          	0xc       		/* - Interrupt Disable Register     */
.EQU	US_IMR,          	0x10       		/* - Interrupt Mask Register        */
.EQU	US_CSR,          	0x14       		/* - Channel Status Register        */
.EQU	US_RHR,          	0x18       		/* - Receive Holding Register       */
.EQU	US_THR,          	0x1c       		/* - Transmit Holding Register      */
.EQU	US_BRGR,         	0x20       		/* - Baud Rate Generator Register   */
.EQU	US_RTOR,         	0x24       		/* - Receiver Timeout Register      */
.EQU	US_TTGR,         	0x28       		/* - Transmitter Time-guard Register*/
#;		                	0x2c       		/* - Reserved                       */
.EQU	US_RPR,          	0x30       		/* - Receiver Pointer Register      */
.EQU	US_RCR,          	0x34       		/* - Receiver Counter Register      */
.EQU	US_TPR,          	0x38       		/* - Transmitter Pointer Register   */
.EQU	US_TCR,          	0x3c       		/* - Transmitter Counter Register   */

#---------------------------
#- US_CR : Control Register
#---------------------------
.EQU    US_RSTRX,            0x0004      /* - Reset Receiver		*/
.EQU    US_RSTTX,            0x0008      /* - Reset Transmitter     */
.EQU    US_RXEN,             0x0010      /* - Receiver Enable       */
.EQU    US_RXDIS,            0x0020      /* - Receiver Disable      */
.EQU    US_TXEN,             0x0040      /* - Transmitter Enable    */
.EQU    US_TXDIS,            0x0080      /* - Transmitter Disable   */
.EQU    US_RSTSTA,           0x0100      /* - Reset Status Bits     */
.EQU    US_STTBRK,           0x0200      /* - Start Break           */
.EQU    US_STPBRK,           0x0400      /* - Stop Break            */
.EQU    US_STTTO,            0x0800      /* - Start Time-out        */
.EQU    US_SENDA,            0x1000      /* - Send Address          */

#------------------------
#- US_MR : Mode Register
#------------------------

.EQU    US_CLKS,             0x0030      /* - Clock Selection				*/
.EQU    US_CLKS_MCKI,        0x00        /* - Master Clock                  */
.EQU    US_CLKS_MCKI8,       0x10        /* - Master Clock divided by 8     */
.EQU    US_CLKS_SCK,         0x20        /* - External Clock                */
.EQU    US_CLKS_SLCK,        0x30        /* - Slow Clock                    */
                                                                            
.EQU    US_CHRL,             0x00C0      /* - Byte Length                   */
.EQU    US_CHRL_5,           0x00        /* - 5 bits                        */
.EQU    US_CHRL_6,           0x40        /* - 6 bits                        */
.EQU    US_CHRL_7,           0x80        /* - 7 bits                        */
.EQU    US_CHRL_8,           0xC0        /* - 8 bits                        */
                                                                            
.EQU    US_SYNC,             0x0100      /* - Synchronous Mode Enable       */
                                                                            
.EQU    US_PAR,              0x0E00      /* - Parity Mode                   */
.EQU    US_PAR_EVEN,         0x00        /* - Even Parity                   */
.EQU    US_PAR_ODD,          0x20        /* - Odd Parity                    */
.EQU    US_PAR_SPACE,        0x40        /* - Space Parity to 0             */
.EQU    US_PAR_MARK,         0x60        /* - Marked Parity to 1            */
.EQU    US_PAR_NO,           0x80        /* - No Parity                     */
.EQU    US_PAR_MULTIDROP,    0xA0        /* - Multi-drop Mode               */
                                                                            
.EQU    US_NBSTOP,           0x3000      /* - Stop Bit Number               */
.EQU    US_NBSTOP_1,         0x0000      /* - 1 Stop Bit                    */
.EQU    US_NBSTOP_1_5,       0x1000      /* - 1.5 Stop Bits                 */
.EQU    US_NBSTOP_2,         0x2000      /* - 2 Stop Bits                   */
                                                                            
.EQU    US_CHMODE,                   0xC000  /* - Channel Mode                */
.EQU    US_CHMODE_NORMAL,            0x0000  /* - Normal Mode                 */
.EQU    US_CHMODE_AUTOMATIC_ECHO,    0x4000  /* - Automatic Echo              */
.EQU    US_CHMODE_LOCAL_LOOPBACK,    0x8000  /* - Local Loopback              */
.EQU    US_CHMODE_REMOTE_LOOPBACK,   0xC000  /* - Remote Loopback             */
                                                                            
.EQU    US_MODE9,            0x20000     /* - 9 Bit Mode                    */
                                                                            
.EQU    US_CLKO,             0x40000     /* - Baud Rate Output Enable       */

#------------------------------------------------------------------
#-  US_IER, US_IDR, US_IMR, US_IMR: Status and Interrupt Registers
#------------------------------------------------------------------

.EQU    US_RXRDY,            0x001       /* - Receiver Ready					*/				
.EQU    US_TXRDY,            0x002       /* - Transmitter Ready                 */
.EQU    US_RXBRK,            0x004       /* - Receiver Break                    */
.EQU    US_ENDRX,            0x008       /* - End of Receiver PDC Transfer      */
.EQU    US_ENDTX,            0x010       /* - End of Transmitter PDC Transfer   */
.EQU    US_OVRE,             0x020       /* - Overrun Error                     */
.EQU    US_FRAME,            0x040       /* - Framing Error                     */
.EQU    US_PARE,             0x080       /* - Parity Error                      */
.EQU    US_TIMEOUT,          0x100       /* - Receiver Timeout                  */
.EQU    US_TXEMPTY,          0x200       /* - Transmitter Empty                 */

#------------------------------
#- USART Descriptor Structure
#------------------------------
.EQU    UsartDesc_UsartBase,      0x0       /* - Peripheral base address		*/
.EQU    UsartDesc_PioCtrl,        0x4       /* - IO controller descriptor     */
.EQU    UsartDesc_PinRXD,         0x8       /* - RXD pin number in the PIO    */
.EQU    UsartDesc_PinTXD,         0x9       /* - TXD pin number in the PIO    */
.EQU    UsartDesc_PinSCK,         0xa       /* - SCK pin number in the PIO    */
.EQU    UsartDesc_PeriphId,       0xb       /* - USART Peripheral Identifier  */

#       END

⌨️ 快捷键说明

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