📄 c3x.inc
字号:
* ---------------------------------------------------------------------------------------------------------------------- *
* | xx | xx | xx | xx | xx | EDINT | ETINT1 | ETINT0 | ERINT1 | EXINT1 | ERINT0 | EXINT0 | EINT3 | EINT2 | EINT1 | EINT0 |←'C30/'C31 *
* | | | | | | (DMA) | (DMA) | (DMA) | (DMA) | (DMA) | (DMA) | (DMA) | (DMA) | (DMA) | (DMA) | (DMA) | *
* ---------------------------------------------------------------------------------------------------------------------- *
* R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W ← 操作 *
* 0 0 0 0 0 0 0 0 0 0 0 ← 复位值 *
* *
* 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 *
* ---------------------------------------------------------------------------------------------------------------------- *
* | xx | xx | xx | xx | xx | EDINT | ETINT1 | ETINT0 | ERINT1 | EXINT1 | ERINT0 | EXINT0 | EINT3 | EINT2 | EINT1 | EINT0 |←'C30/'C31 *
* | | | | | | (CPU) | (CPU) | (CPU) | (CPU) | (CPU) | (CPU) | (CPU) | (CPU) | (CPU) | (CPU) | (CPU) | *
* ---------------------------------------------------------------------------------------------------------------------- *
* R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W ← 操作 *
* 0 0 0 0 0 0 0 0 0 0 0 ← 复位值 *
* *
* 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 *
* --------------------------------------------------------------------------------------------------------------- *
* |EINT3 |EINT2 |EINT1 |EINT0 |EDINT0|EDINT1|ETINT1|ETINT0|ETINT1|ETINT0|ERINT0|EXINT0| EINT3| EINT2| EINT1| EINT0|←'C32 *
* |(DMA1)|(DMA1)|(DMA1)|(DMA1)|(DMA1)|(DMA0)|(DMA0)|(DMA0)|(DMA1)|(DMA1)|(DMA1)|(DMA0)|(DMA0)|(DMA0)|(DMA0)|(DMA0)| *
* --------------------------------------------------------------------------------------------------------------- *
* R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W ← 操作 *
* 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ← 复位值 *
* *
* 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 *
* --------------------------------------------------------------------------------------------------------------- *
* | xx | xx | xx | xx |EDINT1|EDINT0|ETINT1|ETINT0| xx | xx |ERINT0|EXINT0| EINT3| EINT2| EINT1| EINT0|←'C32 *
* | | | | |(CPU) |(CPU) |(CPU) |(CPU) | | |(CPU) |(CPU) |(CPU) |(CPU) |(CPU) |(CPU) | *
* --------------------------------------------------------------------------------------------------------------- *
* R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W ← 操作 *
* 0 0 0 0 0 0 0 0 0 0 ← 复位值 *
* *
*****************************************************************************************************************************************
EINT0_CPU .set 1 << 0 ; (中断CPU)外部中断0使能,0:屏蔽;1:使能
EINT1_CPU .set 1 << 1 ; (中断CPU)外部中断1使能,0:屏蔽;1:使能
EINT2_CPU .set 1 << 2 ; (中断CPU)外部中断2使能,0:屏蔽;1:使能
EINT3_CPU .set 1 << 3 ; (中断CPU)外部中断3使能,0:屏蔽;1:使能
EXINT0_CPU .set 1 << 4 ; (中断CPU)同步串口0发送中断使能,0:屏蔽;1:使能
ERINT0_CPU .set 1 << 5 ; (中断CPU)同步串口0接收中断使能,0:屏蔽;1:使能
EXINT1_CPU .set 1 << 6 ; (中断CPU)同步串口1发送中断使能,0:屏蔽;1:使能('C30仅有)
ERINT1_CPU .set 1 << 7 ; (中断CPU)同步串口1接收中断使能,0:屏蔽;1:使能('C30仅有)
ETINT0_CPU .set 1 << 8 ; (中断CPU)定时器0中断使能,0:屏蔽;1:使能
ETINT1_CPU .set 1 << 9 ; (中断CPU)定时器1中断使能,0:屏蔽;1:使能
EDINT_CPU .set 1 << 10 ; (中断CPU)DMA中断使能,0:屏蔽;1:使能('C30/'C31仅有)
EDINT0_CPU .set 1 << 10 ; (中断CPU)DMA0中断使能,0:屏蔽;1:使能('C32仅有)
EDINT1_CPU .set 1 << 11 ; (中断CPU)DMA1中断使能,0:屏蔽;1:使能('C32仅有)
EINT0_DMA .set 1 << 16 ; (中断DMA)外部中断0使能,0:屏蔽;1:使能('C30/'C31仅有)
EINT1_DMA .set 1 << 17 ; (中断DMA)外部中断1使能,0:屏蔽;1:使能('C30/'C31仅有)
EINT2_DMA .set 1 << 18 ; (中断DMA)外部中断2使能,0:屏蔽;1:使能('C30/'C31仅有)
EINT3_DMA .set 1 << 19 ; (中断DMA)外部中断3使能,0:屏蔽;1:使能('C30/'C31仅有)
EINT0_DMA0 .set 1 << 16 ; (中断DMA0)外部中断0使能,0:屏蔽;1:使能('C32仅有)
EINT1_DMA0 .set 1 << 17 ; (中断DMA0)外部中断1使能,0:屏蔽;1:使能('C32仅有)
EINT2_DMA0 .set 1 << 18 ; (中断DMA0)外部中断2使能,0:屏蔽;1:使能('C32仅有)
EINT3_DMA0 .set 1 << 19 ; (中断DMA0)外部中断3使能,0:屏蔽;1:使能('C32仅有)
EXINT0_DMA .set 1 << 20 ; (中断DMA)同步串口0发送中断使能,0:屏蔽;1:使能('C30/'C31仅有)
ERINT0_DMA .set 1 << 21 ; (中断DMA)同步串口0接收中断使能,0:屏蔽;1:使能('C30/'C31仅有)
EXINT1_DMA .set 1 << 22 ; (中断DMA)同步串口1发送中断使能,0:屏蔽;1:使能('C30仅有)
ERINT1_DMA .set 1 << 23 ; (中断DMA)同步串口1接收中断使能,0:屏蔽;1:使能('C30仅有)
EXINT0_DMA0 .set 1 << 20 ; (中断DMA0)同步串口0发送中断使能,0:屏蔽;1:使能('C32仅有)
ERINT0_DMA1 .set 1 << 21 ; (中断DMA1)同步串口0接收中断使能,0:屏蔽;1:使能('C32仅有)
ETINT0_DMA .set 1 << 24 ; (中断DMA)定时器0中断使能,0:屏蔽;1:使能('C30/'C31仅有)
ETINT1_DMA .set 1 << 25 ; (中断DMA)定时器1中断使能,0:屏蔽;1:使能('C30/'C31仅有)
ETINT0_DMA1 .set 1 << 22 ; (中断DMA1)定时器0中断使能,0:屏蔽;1:使能('C32仅有)
ETINT1_DMA1 .set 1 << 23 ; (中断DMA1)定时器1中断使能,0:屏蔽;1:使能('C32仅有)
ETINT0_DMA0 .set 1 << 24 ; (中断DMA0)定时器0中断使能,0:屏蔽;1:使能('C32仅有)
ETINT1_DMA0 .set 1 << 25 ; (中断DMA0)定时器1中断使能,0:屏蔽;1:使能('C32仅有)
EDINT_DMA .set 1 << 26 ; (中断DMA)DMA中断使能,0:屏蔽;1:使能('C30/'C31仅有)
EDINT1_DMA0 .set 1 << 26 ; (中断DMA0)DMA1中断使能,0:屏蔽;1:使能('C32仅有)
EDINT0_DMA1 .set 1 << 27 ; (中断DMA1)DMA0中断使能,0:屏蔽;1:使能('C32仅有)
EINT0_DMA1 .set 1 << 28 ; (中断DMA1)外部中断0使能,0:屏蔽;1:使能('C32仅有)
EINT1_DMA1 .set 1 << 29 ; (中断DMA1)外部中断1使能,0:屏蔽;1:使能('C32仅有)
EINT2_DMA1 .set 1 << 30 ; (中断DMA1)外部中断2使能,0:屏蔽;1:使能('C32仅有)
EINT3_DMA1 .set 1 << 31 ; (中断DMA1)外部中断3使能,0:屏蔽;1:使能('C32仅有)
*****************************************************************************************************************************************
* *
* 'C3x IOF寄存器IF:各字段的宏定义,用于XF0和XF1功能 *
* *
* 31-16 15-12 11-8 7 6 5 4 3 2 1 0 *
* ---------------------------------------------------------------------------------- *
* | xx | xx | xx | INXF1 | OUTXF1 | I/OXF1 | xx | INXF0 | OUTXF0 | I/OXF0 | xx | *
* ---------------------------------------------------------------------------------- *
* R R/W R/W R R/W R/W ← 操作 *
* 0 0 0 0 0 0 ← 复位值 *
* *
*****************************************************************************************************************************************
I_OXF0 .set 1 << 1 ; XF0引脚输入/输出选择,0:XF0引脚配置为输入;1:XF0引脚配置为输出
OUTXF0 .set 1 << 2 ; XF0引脚输出状态
INXF0 .set 1 << 3 ; XF0引脚输入状态
I_OXF1 .set 1 << 5 ; XF1引脚输入/输出选择,0:XF1引脚配置为输入;1:XF1引脚配置为输出
OUTXF1 .set 1 << 6 ; XF1引脚输出状态
INXF1 .set 1 << 7 ; XF1引脚输入状态
*****************************************************************************************************************************************
* *
* 总线控制寄存器STRB0、STRB1和IOSTRB:各字段的宏定义,用于设置总线控制寄存器相应的控制位 *
* *
* 31-23 22 21 20 19-18 17-16 *
* ------------------------------------------------------------------------------------------------ *
* | xx | STRB Switch | STRB Config | Sign ext/Zero fill | Physical memory width | Data type size | *
* ------------------------------------------------------------------------------------------------ *
* R/W R/W R/W R/W R/W R/W ← 操作 *
* 0 0 0 01/11 11 ← 复位值 *
* *
* 15-13 12-8 7-5 4-3 2 1 0
* ------------------------------------------------------------------------------------------------ *
* | xx | BNKCMP | WTCNT | SWW | HIZ | NOHOLD | HOLDST | *
* ------------------------------------------------------------------------------------------------ *
* R/W R/W R/W R/W R/W R/W ← 操作 *
* 10000 111 11 0 0 0 ← 复位值 *
* *
*****************************************************************************************************************************************
HOLDST .set 1 << 0 ; 'C3x Hold状态,0:'C3x外部总线未被挂起;1:'C3x外部总线被挂起
NOHOLD .set 1 << 1 ; 'C3x Hold控制,0:'C3x外部总线受HOLD引脚控制;1:'C3x外部总线不受HOLD引脚控制
HIZ .set 1 << 2 ; 'C3x内部Hold控制,0:'C3x外部总线未被挂起;1:'C3x外部总线被挂起
EXT_RDY .set 0 << 3 ; 等待方式选择,00:仅外部RDY引脚起作用
INT_RDY .set 1 << 3 ; 等待方式选择,01:仅内部软件插等待电路起作用
OR_RDY .set 2 << 3 ; 等待方式选择,10:外部RDY引脚和内部软件插等待电路相或起作用,只要二者之一有效即可
AND_RDY .set 3 << 3 ; 等待方式选择,11:外部RDY引脚和内部软件插等待电路相与起作用,二者必须同时有效才可
WAIT_0 .set 0 << 5 ; 软件插等待数,000:插0等待
WAIT_1 .set 1 << 5 ; 软件插等待数,001:插1等待
WAIT_2 .set 2 << 5 ; 软件插等待数,010:插2等待
WAIT_3 .set 3 << 5 ; 软件插等待数,011:插3等待
WAIT_4 .set 4 << 5 ; 软件插等待数,100:插4等待
WAIT_5 .set 5 << 5 ; 软件插等待数,101:插5等待
WAIT_6 .set 6 << 5 ; 软件插等待数,110:插6等待
WAIT_7 .set 7 << 5 ; 软件插等待数,111:插7等待
BANK_16M .set 0 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,00000:16M(用于当访问存储体边界时自动插入1个等待)
BANK_8M .set 1 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,00001:8M
BANK_4M .set 2 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,00010:4M
BANK_2M .set 3 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,00011:2M
BANK_1M .set 4 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,00100:1M
BANK_512K .set 5 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,00101:512K
BANK_256K .set 6 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,00110:256K
BANK_128K .set 7 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,00111:128K
BANK_64K .set 8 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,01000:64K
BANK_32K .set 9 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,01001:32K
BANK_16K .set 10 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,01010:16K
BANK_8K .set 11 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,01011:8K
BANK_4K .set 12 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,01100:4K
BANK_2K .set 13 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,01101:2K
BANK_1K .set 14 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,01110:1K
BANK_512 .set 15 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,01111:512
BANK_256 .set 16 << 8 ; (STRB0或STRB1仅有)单片存储体容量选择,10000:256
DATA_8 .set 0 << 16 ; ('C32的STRB0和STRB1仅有)数据宽度选择,00:8位
DATA_16 .set 1 << 16 ; ('C32的STRB0和STRB1仅有)数据宽度选择,01:16位
DATA_32 .set 3 << 16 ; ('C32的STRB0和STRB1仅有)数据宽度选择,11:32位
MEM_8 .set 0 << 18 ; ('C32的STRB0和STRB1仅有)存储宽度选择,00:8位
MEM_16 .set 1 << 18 ; ('C32的STRB0和STRB1仅有)存储宽度选择,10:16位
MEM_32 .set 3 << 18 ; ('C32的STRB0和STRB1仅有)存储宽度选择,11:32位
ZERO_FILL .set 1 << 20 ; ('C32的STRB0和STRB1仅有)符号扩展,0:8/16位整数读时符号扩展到32位;1:8/16位整数读时填0扩展到32位
STRB_01 .set 1 << 21 ; ('C32的STRB0仅有)STRB配置,0:STRB0仅访问STRB0空间;1:STRB0访问STRB0和STRB1空间
STRB_SW .set 1 << 22 ; ('C32的STRB0仅有)STRB切换,访问STRB0和STRB1边界时,0:不插1个等待;1:自动插1个等待
*****************************************************************************************************************************************
* *
* DMA控制寄存器各字段的宏定义,用于设置DMA控制寄存器相应的控制位 *
* *
* 31-15 14 13-12 11 10 9-8 7 6 5 4 3-2 1-0 *
* --------------------------------------------------------------------------------------------------------- *
* | xx | PRIORITY MODE | DMAO PRI | TCINT | TC | SYNC | DECDST | INCDST | DECSRC | INCSRC | STAT | START | *
* --------------------------------------------------------------------------------------------------------- *
* R/W R/W R/W R/W R/W R/W R/W R/W R/W R R/W ← 操作 *
* 0 00 0 0 00 0 0 0 0 00 00 ← 复位值 *
* *
*****************************************************************************************************************************************
START_0 .set 0 << 0 ; DMA开始控制,00:完成正在进行的DMA读/写,任何数据读被忽略;任何悬挂的读/写操作被取消
START_1 .set 1 << 0 ; DMA开始控制,01:如果读/写已开始,则完成后停止DMA;如果读/写未开始,则不开始读/写操作
START_2 .set 2 << 0 ; DMA开始控制,10:如果DMA传输已经开始,则整个传输完成后停止DMA;如果DMA传输还未开始,则停止
START_3 .set 3 << 0 ; DMA开始控制,11:DMA传输开始/重新开始
STAT_0 .set 0 << 2 ; DMA状态,00:DMA写和读传输期间被保持
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -