CC2530中常用的控制寄存器
根据学习的不断深入将不断,将陆续更新学习到的寄存器
P0SEL(P1SEL相同):各个I/O口的功能选择,0为普通I/O功能,1为外设功能
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P0_7功能 |
P0_6功能 |
P0_5 功能 |
P0_4 功能 |
P0_3 功能 |
P0_2 功能 |
P0_1功能 |
P0_0 功能 |
P2SEL:(D0到D2位)端口2 功能选择和端口1 外设优先级控制
什么是外设优先级:当PERCFG分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确定哪一个外设先被响应
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
0: USART 0 优先 |
0: USART 1 优先 |
0: 定时器1优先 |
0: USART 0 优先 |
P2_4功能选择 |
P2_3功能选择 |
P2_0功能选择 |
PERCFG:设置部分外设的I/O位置,0为默认I位置1,1为默认位置2
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
定时器1 |
定时器3 |
定时器4 |
未用 |
未用 |
USART1 |
USART0 |
P0DIR(P1DIR相同):设置各个I/O的方向,0为输入,1为输出
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P0_7方向 |
P0_6方向 |
P0_5方向 |
P0_4方向 |
P0_3方向 |
P0_2方向 |
P0_1方向 |
P0_0方向 |
P2DIR :D0~D4设置P2_0到P2_4的方向
D7、D6位作为端口0外设优先级的控制
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
X |
X |
未使用 |
P2_4方向 |
P2_3方向 |
P2_2方向 |
P2_1方向 |
P2_0方向 |
D7D6 |
意义 |
00 |
第1优先级:USART 0 |
01 |
第1优先级:USART 1 |
10 |
第1优先级:定时器1通道0-1 |
11 |
第1优先级:定时器1通道2-3 |
P0INP(P1INP意义相似) :设置各个I/O口的输入模式,0为上拉/下拉,1为三态模式
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P0_7模式 |
P0_6模式 |
P0_5模式 |
P0_4模式 |
P0_3模式 |
P0_2模式 |
P0_1模式 |
P0_0模式 |
需要注意的是:P1INP中,只有D7~D2分别设置对应I/O口的输入模式。D1D0两位无作用。
P2INP: D0~D4控制P2_0~P2_4的输入模式,0为上拉/下拉,1为三态;
D5~D7设置对P0、P1和P2的上拉或下拉的选择。0为上拉,1为下拉;
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
端口2选择 |
端口1选择 |
端口0选择 |
P2_4模式 |
P2_3模式 |
P2_2模式 |
P2_1模式 |
P2_0模式 |
P0IFG(P1IFG相同):终端状态标志寄存器,当输入端口有中断请求时,相应的标志位将置1。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P0_7 |
P0_6 |
P0_5 |
P0_4 |
P0_3 |
P0_2 |
P0_1 |
P0_0 |
P0IEN(P1IEN相同):各个控制口的中断使能,0为中断禁止,1为中断使能。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P0_7 |
P0_6 |
P0_5 |
P0_4 |
P0_3 |
P0_2 |
P0_1 |
P0_0 |
P2IFG:D0~D4为P2_0~P2_4的中断标志位
D5为USD D+中断状态标志,当D+线有一个中断请求未决时设置该标志,用于检测USB挂起状态下的USB恢复事件。当USB控制器没有挂起时不设置该标志。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
未用 |
USB D+ |
P2_4 |
P2_3 |
P2_2 |
P2_1 |
P2_0 |
P2IEN:D0~D4控制P2_0~P2_4的中断使能
D5控制USB D+的中断使能
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
未用 |
USB D+ |
P2_4 |
P2_3 |
P2_2 |
P2_1 |
P2_0 |
PICTL:D0~D3设置各个端口的中断触发方式,0为上升沿触发,1为下降沿触发。
D7控制I/O引脚在输出模式下的驱动能力。选择输出驱动能力增强来补偿引脚DVDD的低I/O电压,确保在较
低的电压下的驱动能力和较高电压下相同。0为最小驱动能力增强。1为最大驱动能力增强。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
I/O驱动能力 |
未用 |
未用 |
未用 |
P2_0~P2_4 |
P1_4~P1_7 |
P1_0~P1_3 |
P0_0~P0_7 |
IEN0:中断使能0,0为中断禁止,1为中断使能
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
总中断EA |
未用 |
睡眠定时器中断 |
AES加密/解密中断 |
USART1 RX中断 |
USART0 RX中断 |
ADC中断 |
RF TX/RF FIFO中断 |
IEN1:中断使能1,0为中断禁止,1为中断使能
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
未用 |
端口0 |
定时器4 |
定时器3 |
定时器2 |
定时器1 |
DMA传输 |
IEN2:中断使能2,0为中断禁止,1为中断使能
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
未用 |
看门狗定时器 |
端口1 |
USART1 TX |
USART0 TX |
端口2 |
RF一般中断 |
T1CTL:定时器1的控制,D1D0控制运行模式,D3D2设置分频划分值
D7 |
D6 |
D5 |
D4 |
D3D2 |
D1D0 |
未用 |
未用 |
未用 |
未用 |
00:不分频 |
00:暂停运行 |
T1STAT:定时器1的状态寄存器,D4~D0为通道4~通道0的中断标志,D5为溢出标志位,当计数到最终技术值是自动置1。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
未用 |
溢出中断 |
通道4中断 |
通道3中断 |
通道2中断 |
通道1中断 |
通道0中断 |
T1CCTL0~T1CCTL4:定时器1通道0~通道4的工作方式设置。D1D0为捕捉模式选择:00为不捕捉,01为上升沿捕获,10为下降沿捕获,11为上升或下降沿都捕获。
D2位为捕获或比较的选择,0为捕获模式,1为比较模式。D5D4D3为比较模式的选择:000为发生比较式输出端置1,001为发生比较时输出端清0,010为比较时输出翻转,其他模式较少使用。
D7 |
D6 |
D5D4D3 |
D2 |
D1D0 |
未用 |
未用 |
比较模式 |
捕获/比较 |
捕捉模式 |
IRCON:中断标志4,;0为无中断请求。1为有中断请求。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
睡眠定时器 |
必须为0 |
端口0 |
定时器4 |
定时器3 |
定时器2 |
定时器1 |
DMA完成 |
T3CTL/T4CTL:定时器3或定时器4的方式控制寄存器。D7D6D5设置分频:000为无分频、001为2分频、010为4分频、011为8分频、100为16分频、101为32分频、110为64分频,111为128分频。D4为启动位,启动时1,停止工作为0。D3位为中断使能位,0为禁止,1为使能,默认为1;D2为复位,置1时定时器复位。D1D0为计数器模式选择:该位与T1CTL的D1D0位意义相同。
D7D6D5 |
D4 |
D3 |
D2 |
D1D0 |
分频 |
启动定时器 |
溢出中断 |
清除计数器 |
计数模式 |
T3CCTL0/T3CCTL1/T4CCTL0/T4CCTL1:定时器3或定时器4的通道0和通道1的方式控制,D6为该通道的中断使能位,0为禁止,1为使能,默认为1;D5~D0与T1CCTL0相同
D7 |
D6 |
D5D4D3 |
D1 |
D0 |
未用 |
中断使能 |
比较模式 |
捕获/比较 |
捕捉模式 |
TIMIF:定时器1的溢出中断屏蔽与定时器3、4的中断标志。D6为定时器1的溢出中断屏蔽,0为屏蔽,1为使能,默认为1.D5~D0为定时器3和4中各个通道的中断标志。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
T1溢出中断使能 |
T4通道1中断标志 |
T4通道0中断标志 |
T4溢出标志中断标志 |
T3通道1 |
T3通道0 |
T3溢出中断标志 |
CLKCONCMD:时钟频率控制寄存器。
D7 |
D6 |
D5~D3 |
D2~D0 |
32KHZ时间振荡器选择 |
系统时钟选择 |
定时器输出标记 |
系统主时钟选择 |
D7位为32KHZ时间振荡器选择,,0为32KRC震荡,1为32K晶振。默认为1。
D6位为系统时钟选择。0为32M晶振,1为16M RC震荡。当D7位为0时D6必须为1。
D5~D3为定时器输出标记。000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为 1MHZ,110为500KHZ,111为250KHZ。默认为001。需要注意的是:当D6为1时,定时器频率最高可采用频率为16MHZ。
D2~D0:系统主时钟选择:000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为1MHZ,110为500KHZ,111为250KHZ。当D6为1时,系统主时钟最高可采用频率为16MHZ。
CLKCONSTA:时间频率状态寄存器。
D7 |
D6 |
D5~D3 |
D2~D0 |
当前32KHZ时间振荡器 |
当前系统时钟 |
当前定时器输出标记 |
当前系统主时钟 |
D7位为当前32KHZ时间振荡器频率。0为32KRC震荡,1为32K晶振。
D6位为当前系统时钟选择。0为32M晶振,1为16M RC震荡。
D5~D3为当前定时器输出标记。000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为 1MHZ,110为500KHZ,111为250KHZ。
D2~D0为当前系统主时钟。000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为1MHZ,110为500KHZ,111为250KHZ。
U0CSR:USART0控制与状态;
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
模式选择 |
接收器使能 |
SPI主/从模式 |
帧错误状态 |
奇偶错误状态 |
接受状态 |
传送状态 |
收发主动状态 |
D7为工作模式选择,0为SPI模式,1为USART模式
D6为UART接收器使能,0为禁用接收器,1为接收器使能。
D5为SPI主/从模式选择,0为SPI主模式,1为SPI从模式。
D4为帧错误检测状态,0为无错误,1为出现出错。
D3为奇偶错误检测,0为无错误出现,1为出现奇偶校验错误。
D2为字节接收状态,0为没有收到字节,1为准备好接收字节。
D1为字节传送状态,0为字节没有被传送,1为写到数据缓冲区的字节已经被发送。
D0为USART接收/传送主动状态,0为USART空闲,1为USART忙碌。
U0GCR:USART0通用控制寄存器;
D7 |
D6 |
D5 |
D4~D0 |
SPI时钟极性 |
SPI时钟相位 |
传送位顺序 |
波特率指数值 |
D7为SPI时钟极性:0为负时钟极性,1为正时钟极性;
D6为SPI时钟相位:
D5为传送为顺序:0为最低有效位先传送,1为最高有效位先传送。
D4~D0为波特率设置:
波特率 |
指数值 |
小数部分 |
2400 |
6 |
59 |
4800 |
7 |
59 |
9600 |
8 |
59 |
14400 |
8 |
216 |
19200 |
9 |
59 |
28800 |
9 |
216 |
38400 |
10 |
59 |
57600 |
10 |
216 |
76800 |
11 |
59 |
115200 |
11 |
216 |
230400 |
12 |
216 |
U0BAUD:波特率控制小数部分。(取值参考上表)
CC2530 USART 寄存器
USART 寄存器
UxCSR: USART x 控制和状态
UxUCR: USART x UART 控制
UxGCR: USART x 通用控制
UxDBUF: USART x 接收和传送数据缓冲
UxBAUD: USART x 波特率控制
U0CSR (0x86) – USART 0控制和状态
位 |
名称 |
重置 |
R/W |
描述 |
7 |
MODE |
0 |
R/W |
USART模式选择 0: SPI模式 1: UART模式 |
6 |
RE |
0 |
R/W |
UART接收使能。在UART全部配置好之前不要使能。 0: 接收禁止 1: 接收使能 |
5 |
SLAVE |
0 |
R/W0 |
SPI主或从模式选择 0: SPI主模式 1: SPI从模式 |
4 |
FE |
0 |
R/W0 |
UART帧差错状态 0:不检测错误 1:校验 |
3 |
ERR |
0 |
R/W0 |
UART奇偶校验位状态 0:不检测 1:奇偶校验。 |
2 |
RX_BYTE |
0 |
R/W0 |
接收字节状态,UART模式和SPI从模式,此位在从U0DBUF读取之后自动清除。有效防止U0DBUF数据丢失。 0: 没有数据接收 1: 接收数据准备好 |
1 |
TX_BYTE |
0 |
R/W0 |
传输字节状态。UART模式和SPI主模式 0: 字节未被传输。 1: 写入数据缓冲区的数据被传送。 |
0 |
ACTIVE |
0 |
R |
USART传送接收激活状态。在SPI从模式下,此位等于从选择。 0: USART 空闲 1: USART 忙,处于传输或接收。 |
U0UCR (0xC4) – USART 0 UART 控制
位 |
名称 |
重置 |
R/W |
描述 |
7 |
FLUSH |
0 |
R/W1 |
冲刷单位。当设置将停止当前操作,返回空闲状态。 |
6 |
FLOW |
0 |
R/W |
UART硬件流控制使能。硬件通过RTS和CTS控制流 0: 禁止 1: 使能 |
5 |
D9 |
0 |
R/W0 |
UART 奇偶位,需 0: 奇校验 1: 偶校验 |
4 |
BIT9 |
0 |
R/W0 |
UART 9-bit 使能 0:8位传输 1:9位传输 |
3 |
PARITY |
0 |
R/W0 |
UART奇偶使能 0:禁用 1:允许 |
2 |
SPB |
0 |
R/W0 |
UART停止位数 0: 1位停止位 1: 2位停止位 |
1 |
STOP |
0 |
R/W0 |
UART停止位等级必须不同起始位等级 0: 低停止位 1: 高停止位 |
0 |
START |
0 |
R |
USART起始位等级 0: 低起始位 1: 高起始位 |
U0GCR (0xC5) – USART 0 通用控制
位 |
名称 |
重置 |
R/W |
描述 |
7 |
CPOL |
0 |
R/W |
SPI时钟极性 0: 负时钟 1: 正时钟 |
6 |
CPHA |
0 |
R/W |
SPI时钟相位 0: CPOL颠倒后传送CPOL 1: CPOL到CPOL后颠倒 |
5 |
ORDER |
0 |
R/W |
传输字节序 0: LSB优先 1: MSB优先 |
4:0 |
BAUD_E[4:0] |
0 |
R/W |
波特率指数值 |
U0DBUF (0xC1) – USART 0 接收传送数据缓冲
位 |
名称 |
重置 |
R/W |
描述 |
7:0 |
DATA[7:0] |
0 |
R/W |
USART接收和传送数据。当写此寄存器,数据将写入内部数据传输寄存器,当读此寄存器,数据将读内部读数据寄存器。 |
U0BAUD (0xC2) – USART 0 波特率控制
位 |
名称 |
重置 |
R/W |
描述 |
7:0 |
BAUD_M[7:0] |
0 |
R/W |
波特率尾数值 |