📄 usart.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 + -