📄 vc33.inc
字号:
*****************************************************************************************************************************************
* *
* 同步串口接收控制寄存器各字段的宏定义,用于设置同步串口接收控制寄存器相应的控制位 *
* *
* 31-12 11 10 9 8 7 6 5 4 3 2 1 0 *
* --------------------------------------------------------------------------------------------------- *
* | xx | FSR | FSR | FSR | FSR | DR | DR | DR | DR | CLKR | CLKR | CLKR | CLKR | *
* | | DATIN | DATOUT | I/O | FUNC | DATIN | DATOUT | I/O | FUNC | DATIN | DATOUT | I/O | FUNC | *
* --------------------------------------------------------------------------------------------------- *
* R R/W R/W R/W R R/W R/W R/W R R/W R/W R/W ← 操作 *
* x 0 0 0 x 0 0 0 x 0 0 0 ← 复位值 *
* *
*****************************************************************************************************************************************
CLKRFUNC .set 1 << 0 ; 接收时钟引脚功能选择,0:通用I/O;1:同步串口接收时钟
CLKRI_O .set 1 << 1 ; 接收时钟引脚输入/输出选择,0:输入;1:输出
CLKR_DO .set 1 << 2 ; 接收时钟引脚输出状态
CLKR_DI .set 1 << 3 ; 接收时钟引脚输入状态
DRFUNC .set 1 << 4 ; 接收数据引脚功能选择,0:通用I/O;1:同步串口接收数据
DRI_O .set 1 << 5 ; 接收数据引脚输入/输出选择,0:输入;1:输出
DR_DO .set 1 << 6 ; 接收数据引脚输出状态
DR_DI .set 1 << 7 ; 接收数据引脚输入状态
FSRFUNC .set 1 << 8 ; 接收帧引脚功能选择,0:通用I/O;1:同步串口接收帧
FSRI_O .set 1 << 9 ; 接收帧引脚输入/输出选择,0:输入;1:输出
FSR_DO .set 1 << 10 ; 接收帧引脚输出状态
FSR_DI .set 1 << 11 ; 接收帧引脚输入状态
*****************************************************************************************************************************************
* *
* 同步串口发送/接收定时器控制寄存器各字段的宏定义,用于设置同步串口发送/接收定时器控制寄存器相应的控制位 *
* *
* 31-12 11 10 9 8 7 6 5 4 3 2 1 0 *
* ---------------------------------------------------------------------------------------------- *
* | xx | RSTAT | xx | RCLKSRC | RC/P | RHLD | RGO | XSTAT | xx | XCLKSRC | XC/P | XHLD | XGO | *
* ---------------------------------------------------------------------------------------------- *
* R R/W R/W R/W R/W R R/W R/W R/W R/W ← 操作 *
* 0 0 0 0 0 0 0 0 0 0 ← 复位值 *
* *
*****************************************************************************************************************************************
XGO .set 1 << 0 ; 发送定时计数器复位/开始选择,0:复位;1:开始
XHLD .set 1 << 1 ; 发送定时计数器保持控制,0:保持;1:计数
XCP .set 1 << 2 ; 发送定时计数器时钟/脉冲选择,0:脉冲;1:时钟
XCLKSRC .set 1 << 3 ; 发送时钟源选择,0:外部;1:内部
XTSTAT .set 1 << 5 ; 发送定时器状态
RGO .set 1 << 6 ; 接收定时计数器复位/开始选择,0:复位;1:开始
RHLD .set 1 << 7 ; 接收定时计数器保持控制,0:保持;1:计数
RCP .set 1 << 8 ; 接收定时计数器时钟/脉冲选择,0:脉冲;1:时钟
RCLKSRC .set 1 << 9 ; 接收时钟源选择,0:外部;1:内部
RTSTAT .set 1 << 11 ; 接收定时器状态
*****************************************************************************************************************************************
* *
* 定时器控制寄存器各字段的宏定义,用于设置定时器控制寄存器相应的控制位 *
* *
* 31-12 11 10 9 8 7 6 5 4 3 2 1 0 *
* ---------------------------------------------------------------------------------------- *
* | xx | TSTAT | INV | CLKSRC | C/P | HLD | GO | xx | xx | DATIN | DATOUT | I/O | FUNC | *
* ---------------------------------------------------------------------------------------- *
* R R/W R/W R/W R/W R/W R R/W R/W R/W ← 操作 *
* 0 0 0 0 0 0 x 0 0 0 ← 复位值 *
* *
*****************************************************************************************************************************************
FUNC .set 1 << 0 ; 定时器引脚功能选择,0:通用I/O;1:定时器
I_O .set 1 << 1 ; 定时器引脚输入/输出选择,0:输入;1:输出
DATOUT .set 1 << 2 ; 定时器引脚输出状态
DATIN .set 1 << 3 ; 定时器引脚输入状态
GO .set 1 << 6 ; 定时计数器复位/开始选择,0:复位;1:开始
HLD .set 1 << 7 ; 定时计数器保持控制,0:保持;1:计数
CP .set 1 << 8 ; 定时计数器时钟/脉冲选择,0:脉冲;1:时钟
CLKSRC .set 1 << 9 ; 定时器时钟源选择,0:外部;1:内部
INV .set 1 << 10 ; 定时器引脚极性控制,0:正极性;1:负极性
TSTAT .set 1 << 11 ; 定时器状态
*********************************************************************************
* 外部寄存器内容及地址 *
*********************************************************************************
*System Control Register
*#define syscntl 0x380004h ;系统设置寄存器在IO空间的地址。只写
*D07 D06 D05 D04 D03 D02 D01 D00
* X x x serial2 serial1 W_enable DBCNTL1 DBCNTL0
*各控制位说明:
* serial2: 串口选择
* 其值为0时:切换为数据口
* 其值为1时:切换为命令口
* serial1: 串口选择
* 其值为0时:切换为同步串口
* 其值为1时:切换为外部扩展同步串口
* W_enable:看门狗使能位
* 其值为0时:看门狗禁止(默认状态)
* 其值为1时: 看门狗使能。
* DBCNTL1,0:扩展板控制位
* 其值为0时: 扩展总线的DB_CNTL1,0线为0(默认状态)。
* 其值为1时: 扩展总线的DB_CNTL1,0线为0(默认状态)。
*System Status Register
*sysstat0 .set 0x380005h ;系统外设状态寄存器在IO空间的地址。只读
*D07 D06 D05 D04 D03 D02 D01 D00
* X X DBSTAT0 DBSTAT1 USBRDY USBFLAGA USBFLAGB USBFLAGC
*各控制位说明:
* USBFLAGC:USB的FLAGC的状态;
* USBFLAGB:USB的FLAGB的状态;
* USBFLAGA:USB的FLAGA的状态;
* USBRDY : USB的READY的状态;
* DBSTAT1 :扩展板的STAT1的状态;
* DBSTAT0 :扩展板的STAT1的状态;
*System interruption Register
*sysstat1 .set 0x380006h ;系统中断状态寄存器在IO空间的地址。只读
*D07 D06 D05 D04 D03 D02 D01 D00
* X X X UARTINTB UARTINTA INT1E INT2E USBINT
* 各控制位说明:
* USBINT:USB的中断的状态;
* DBINT2:扩展板的中断1的状态;
* DBINT1:扩搌板的中断2的状态;
* UARTINTA : UART的A路的中断的状态;
* UARTINTB :UART的B路的中断的状态;
*********************************************************************************
*系统状态缓冲区的定义 *
*********************************************************************************
*系统缓冲区的定义:
*第0~3个字节:串口通路A的寄存器缓冲
*第4个字节:5个字节:串口通路B的寄存器缓冲
*第6~7个字节:系统寄存器的读写缓冲
*第8个字节 :A通路接收缓冲区半满
*第9个字节 :B通路接收缓冲区半满
*第10个字节 :A通路接收绶冲区全满
*第11个字节 :B通路接收绶冲区全满
*第12个字节 :A通路的FIFO的深度
*第13个字节 : B通路的FIFO的深度
*第14个字节 :UART的状态区
*第15个字节 :A通路接收的字节数
*第16个字节 :B通路接收的字节数
*第17个字节 :A通路出现故障
*第18个字节 :B通路出现故障
*第19个字节 : A通路已接收的数据
*第20个字节 : B通路已接收的数据
*第21个字节 :A通路有新帧
*第22个字节 :B通路有新帧
*第23个字节 :A通路中断超时
*第24个字节 :B通路中断超时
*第25个字节 :A通路较验出错
*第26个字节 :B通路较给出错
*第27个字节 :系统的时钟设置
UARTA0 .set 0
UARTA1 .set 1
UARTA2 .set 2
UARTA3 .set 3
UARTB1 .set 4
UARTB2 .set 5
SYSB0 .set 6
SYSB1 .set 7
RECALON .set 8
RECBLON .set 9
RECAADDR .set 0AH
RECBADDR .set 0BH
FIFOADIP .set 0CH
FIFOBDIP .set 0DH
UARTSTAT .set 0eH
RECARDY .set 0fH
RECBRDY .set 010h
UARTAERR .set 011h
UARTBERR .set 012h
UARTACOUNT .set 013H
UARTBCOUNT .set 014H
RECANEW .set 015H
RECBNEW .set 016H
UARTIMEA .set 017H
UARTIMEB .set 018H
UARTCHEKA .set 019H
UARTCHEKB .set 01aH
SYSCLOCKS .set 01bH
*********************************************************************************
*外部设备寄存器及地址 *
*********************************************************************************
* OFF-CHIP UART A
rhr_a .set 00H ; Read
thr_a .set 00H ; Write
ier_a .set 01H
iir_a .set 02H ; Read
fcr_a .set 02H ; Write
lcr_a .set 03H
mcr_a .set 04H
lsr_a .set 05H
msr_a .set 06H
scr_a .set 07H
dll_a .set 00H
dlh_a .set 01H
efr_a .set 02H
*Time constants for Common Baud Rates
BR_38K4L .set 004eH
BR_38K4H .set 0000H
BR_19K2L .set 009cH
BR_19K2H .set 0000H
BR_9K6L .set 0038H
BR_9K6H .set 0001H
BR_4K8L .set 0071H
BR_4K8H .set 0002H
BR_2K4L .set 00e2H
BR_2K4H .set 0004H
LC_8_BITS .set 03H
LC_0_STOP .set 00H
LC_NONE_PARITY .set 00H
LC_0_DLAB .set 00H
LC_1_DLAB .set 80H
LOOPBACK .set 18H
NOLB .set 08H
TX_EMPTY .set 20H
RX_FULL .set 0CH
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -