CC2530/CC2540/CC2541常用寄存器1.访问模式符号访问模式R/W可读写R只读R0读0R1读1W只写W0写0W1写1H0硬件清除H1硬件设置2.端口寄存器(P0,P1,P2)端口Bit位名称初始化读写描述P07:0P0[7:0]0XFFR/W端口0,通用I/O端口,可以位寻址。XDATA(0x7080).P17:0P1[7:0]0XFFR/W端口1,通用I/O端口,可以位寻址。XDATA(0x7090).P27:5---000R0未使用P24:0P2[4:0]0x1FR/W端口2,通用I/O端口,可以位寻址。XDATA(0x70A0).3.方向寄存器(P0DIR,P1DIR,P2DIR)端口Bit位名称初始化读写描述P0DIR7:0DIRP0_[7:0]0x00R/WP0.7--P0.0的方向(0:输入1:输出)P1DIR7:0DIRP1_[7:0]0x00R/WP1.7--P1.0的方向(0:输入1:输出)P2DIR7:6PRIP0[1:0]00R/W端口0外设优先级控制,当PERCFG分配给一些外设相同引脚的时候,这些位将确定优先级。优先级从前到后如下:00:USART0,USART1,Timer101:USART1,USART0,Timer110:Timer1channels0-1,USART1,USART0,Timer1channels2-311:Timer1channels2-3,USART0,USART1,Timer1channels0-1P2DIR5---0R0未使用P2DIR4:0DIRP2_[4:0]00000R/WP2.4—P2.0的方向(0:输入1:输出)4.外设控制寄存器(PERCFG)端口Bit位名称初始化读写描述PERCFG7---0R0未使用PERCFG6T1CFG0R/W计时器1的I/O位置:0:位置11:位置2PERCFG5T3CFG0R/W计时器3的I/O位置:0:位置11:位置2PERCFG4T4CFG0R/W计时器4的I/O位置:0:位置11:位置2PERCFG3:2---00R/W未使用PERCFG1U1CFG0R/WUSART1的I/O位置:0:位置11:位置2PERCFG0U0CFG0R/WUSART0的I/O位置:0:位置11:位置25.模拟外围I/O配置(ADC输入配置)(APCFG):AnalogperipheralI/Oconfiguration端口Bit位名称初始化读写描述APCFG7:0APCFG[7:0]0x00R/W模拟外围I/O配置(ADC输入配置),APCFG[7:0]选择P0.7—P0.0作为模拟输入口。0:模拟输入(ADC输入)禁止1:模拟输入(ACD输入)使能6.功能选择寄存器(P0SEL,P1SEL,P2SEL)端口Bit位名称初始化读写描述P0SEL7:0SELP0_[7:0]0x00R/WP0.7--P0.0的功能选择(0:通用I/O1:外设功能)P1SEL7:0SELP1_[7:0]0x00R/WP1.7--P1.0的功能选择(0:通用I/O1:外设功能)P2SEL7---0R0未使用P2SEL6PRI3P10R/W端口1外设优先级控制,当PERCFG分配USART0和USART1相同引脚的时候,这些位将确定优先级。0:USART0优先1:USART1优先P2SEL5PRI2P10R/W端口1外设优先级控制,当PERCFG分配USART1和TIMER3相同引脚的时候,这些位将确定优先级。0:USART1优先1:TIMER3优先P2SEL4PRI1P10R/W端口1外设优先级控制,当PERCFG分配TIMER1和TIMER4相同引脚的时候,这些位将确定优先级。0:TIMER1优先1:TIMER4优先P2SEL3PRI0P10R/W端口1外设优先级控制,当PERCFG分配USART0和TIMER1相同引脚的时候,这些位将确定优先级。0:USART0优先1:TIMER1优先P2SEL2:0SELP2_[2:0]000R/WP2.2--P2.0的功能选择(0:通用I/O1:外设功能)7.输入模式寄存器(P0INP,P1INP,P2INP)端口Bit位名称初始化读写描述P0INP7:0MDP0_[7:0]0x00R/WP0.7--P0.0的输入模式:0:上拉/下拉(具体看PDUP0设置)1:三态P1INP7:2MDP1_[7:2]000000R/WP1.7—P1.2的输入模式:0:上拉/下拉(具体看PDUP1设置)1:三态P1INP1:0---00R0未使用P2INP7PDUP20R/W端口2上拉/下拉选择,对所有端口2引脚设置为上拉/下拉输入:0:上拉1:下拉P2INP6PDUP10R/W端口1上拉/下拉选择,对所有端口1引脚设置为上拉/下拉输入:0:上拉1:下拉P2INP5PDUP00R/W端口0上拉/下拉选择,对所有端口0引脚设置为上拉/下拉输入:0:上拉1:下拉P2INP4:0MDP2_[4:0]00000R/WP2.4—P2.0的输入模式:0:上拉/下拉(具体看PDUP2设置)1:三态8.中断状态标志寄存器(P0IFG,P1IFG,P2IFG)端口Bit位名称初始化读/写描述P0IFG7:0P0IF[7:0]0x00R/W0端口0,位7至位0输入中断状态标志。当某引脚上有中断请求未决信号时,其相应标志为设1。P1IFG7:0P1IF[7:0]0x00R/W0端口1,位7至位0输入中断状态标志。当某引脚上有中断请求未决信号时,其相应标志为设1。P2IFG7:5---000R0未使用P2IFG4:0P2IF[4:0]0x00R/W0端口2,位4至位0输入中断状态标志。当某引脚上有中断请求未决信号时,其相应标志为设1。9.端口中断控制(PICTL)(上升沿或下降沿)端口Bit位名称初始化读写描述PICTL7PADSC0R/W强制引脚在输出模式。选择输出驱动能力,由DVDD引脚提供。0:最小驱动能力1:最大驱动能力PICTL6:4---000R0未使用PICTL3P2ICON0R/W端口2,引脚4至0输入模式下的中断配置,该位为端口2的4-0脚的输入选择中断请求条件。0:输入的上升沿引起中断1:输入的下降沿引起中断PICTL2P1ICONH0R/W端口1,引脚7至4输入模式下的中断配置,该位为端口1的7-4脚的输入选择中断请求条件。0:输入的上升沿引起中断1:输入的下降沿引起中断PICTL1P1ICONL0R/W端口1,引脚3至0输入模式下的中断配置,该位为端口1的3-0脚的输入选择中断请求条件。0:输入的上升沿引起中断1:输入的下降沿引起中断PICTL0P0ICON0R/W端口0,引脚7至0输入模式下的中断配置,该位为端口0的7-0脚的输入选择中断请求条件。0:输入的上升沿引起中断1:输入的下降沿引起中断10.中断屏蔽寄存器(P0IEN,P1IEN,P2IEN)端口Bit位名称初始化读写描述P0IEN7:0P0_[7:0]IEN0x00R/W端口0,位7至位0中断使能。0:中断禁止1:中断使能P1IEN7:0P1_[7:0]IEN0x00R/W端口1,位7至位0中断使能。0:中断禁止1:中断使能P2IEN7:6---00R0未使用P2IEN5DPIEN0R/WUSBD+中断使能。P2IEN4:0P2_[4:0]IEN00000R/W端口2,位4至位0中断使能。0:中断禁止1:中断使能11.串口和SPI相关11.1.U0CSR(0x86)-USART0控制和状态Bit位名称初始化读写描述7MODE0R/WUSART模式选择:0:SPI模式1:UART模式6RE0R/WUART接收器使能。注意在UART完全配置之前不使能接收。0:禁用接收器1:接收器使能5SLAVE0R/WSPI主或者从模式选择.0:SPI主模式1:SPI从模式4FE0R/W0UART帧错误状态.0:无帧错误检测1:字节收到不正确停止位级别3ERR0R/W0UART奇偶错误状态.0:无奇偶错误检测1:字节收到奇偶错误2RX_BYTE0R/W0接收字节状态。URAT模式和SPI从模式。当读U0DBUF该位自动清除,通过写0清除它,这样有效丢弃U0DBUF中的数据。0:没有收到字节1:准备好接收字节1TX_BYTE0R/W0传送字节状态。URAT模式和SPI主模式.0:字节没有被传送1:写到数据缓存寄存器的最后字节被传送0ACTIVE0RUSART传送/接收主动状态、在SPI从模式下该位等于从模式选择。0:USART空闲1:在传送或者接收模式USART忙碌11.2.U0UCR(0xC4)–USART0UART控制Bit位名称初始化读写描述7FLUSH0R0/W1清除单元。当设置时,该事件将会立即停止当前操作并且返回单元的空闲状态。6FLOW0R/WUART硬件流使能。用RTS和CTS引脚选择硬件流控制的使用。0:流控制禁止.1:流控制使能.5D90R/WUART奇偶校验位。当使能奇偶校验,写入D9的值决定发送的第9位的值,如果收到的第9位不匹配收到字节的奇偶校验,接收时报告ERR。如果奇偶校验使能,那么该位设置以下奇偶校验级别。0:奇校验1:偶校验.4BIT90R/WUART9位数据使能。当该位是1时,使能奇偶校验位传输(即第9位)。如果通过PARITY使能奇偶校验,第9位的内容是通过D9给出的。0:8位传送1:9位传送3PARITY0R/WUART奇偶校验使能。除了为奇偶校验设置该位用于计算,必须使能9位模式。0:禁用奇偶校验1:奇偶校验使能2SPB0R/WUART停止位的位数。选择要传送的停止位的位数.0:1位停止位1:2位停止位1STOP1R/WUART停止位的电平必须不同于开始位的电平.0:停止位低电平1:停止位高电平0START0R/WUART起始位电平。闲置线的极性采用选择的起始位级别的电平的相反的电平。0:起始位低电平1:起始位高电平11.3.U0GCR(0xC5)–USART0通用控制Bit位名称初始化读写描述7CPOL0R/WSPI的时钟极性.0:负时钟极性1:正时钟极性6CPHA0R/WSPI时钟相位.0:当SCK从CPOL倒置到CPOL时数据输出到MOSI,并且当SCK从CPOL倒置到CPOL时数据输入抽样到MISO。1:当SCK从CPOL倒置到CPOL时数据输出到MOSI,并且当SCK从CPOL倒置到CPOL时数据输入抽样到MISO。5ORDER0R/W传送位顺序.0:LSB先传送1:MSB先传送4:0BAUD_E[4:0]00000R/W波特率指数值。BAUD_E和BAUD_M决定了UART波特率和SPI的主SCK时钟频率。11.4.U0BUF(0xC1)–USART0接收/传送数据缓存Bit位名称初始化读写描述7:0DATA[7:0]0x00R/WUSART接收和传送数据。当写这个寄存器的时候数据被写到内部,传送数据寄存器。当读取该寄存器的时候,数据来自内部读取的数据寄存器。11.5.U0BAUD(0xC2)–USART0波特率控制Bit位名称初始化读写描述7:0BAUD_M[7:0]0x00R/W波特率小数部分的值。BAUD_E和BAUD_M决定了UART的波特率和SPI的主SCK时钟频率。12.时钟相关12.1.CLKCONCMD(0xC6)–时钟控制命令Bit位名称初始化读写描述7OSC32K1R/W32kHz时钟振荡器选择。设置该位只能发起一个时钟源改变。CLKCONSTA.OSC32K反映当前的设置。当要改变该位必须选择16MHzRCOSC作为系统时钟。0:32kHzXOSC1:32kHzRCOSC6OSC1R/W系统时钟源选择。设置该位只能发起一个时钟源改变。CLKCONSTA.OSC反映当前的设置。0:32MHzXOSC1:16MHzRCOSC5:3TICKSPD[2:0]001R/W定时器标记输出设置。不能高于通过OSC位设置的系统时钟设置。000:32MHz001:16MHz010:8MHz011:4MHz100:2M