CC2530-I/O相关寄存器
这里只是简单介绍本次实验用到的I/O寄存器。
寄存器PxSEL
PxSEL 介绍:控制I/O口引脚为通用引脚或外设。
PxSEL中x为端口的标号0~2,用来设置端口的每个引脚为通用I/O或者是外部设备I/O。默认时,当复位之后所有的数字都输入输出引脚都设置为通用输入引脚。
P0SEL寄存器
位 | 名称 | 复位 | R/W | 描述 |
---|---|---|---|---|
7:0 | SELP0_[7:0] | 0X00 | R/W | P0_7到P0_0功能选择;0:通用I/O;1:外设功能 |
寄存器PxDIR
PxDIR介绍:用来设置每个端口引脚为输入或输出。
知道设置PxDIR中指定位为1,其对应的引脚就会被设置为输出了。
P0DIR寄存器
位 | 名称 | 复位 | R/W | 描述 |
---|---|---|---|---|
7:0 | DIRP0-[7:0] | 0X00 | R/W | P0_7到P0_0的I/O方向;0:输入;1:输出 |
寄存器PxINP(本文并不使用,默认值就可以)
PxINP介绍:用来在通用I/O端口用作输入时将其设置为上拉、下拉和三态操作模式。
复位后,所对应的端口均设置为带上拉的输入。要取消输入的上拉或下拉功能,就要将PxINP中的对应位设置为1。I/O端口引脚P1_0和P1_1即使外设功能是输入,也没由上拉/下拉功能。
注意:
(1)配置位外设I/O信号的引脚没有上拉/下拉功能。
(2)在电源模式PM1、PM2和PM3下I/O引脚保留当进入PM1\PM2\PM3时设置为I/O模式和输出值。
位 | 名称 | 复位 | R/W | 描述 |
---|---|---|---|---|
7:0 | MDP0-[7:0] | 0X00 | R/W | P0_7到P0_0的I/O功能选择;0:上拉/下拉;1:三态 |
LED闪烁实验
原理图:
实验要求:
LED灯自动闪烁实验。
实验分析:
通过原理图可以看到,两个LED灯是共阳极,分别连接CC2530的P0.0和P2.0引脚上的。这里只需要让P0.0、P2.0输出低电平,就会使LED电路导通。
代码流程:
1、设置I/O的是通用I/O还是外设。
通过PxSEL寄存器设置P0.0、P2.0为通用IO口
通过PxDIR寄存器设置P0.0、P2.0为输出模式
这里不需要设置PxINP寄存器,因为此寄存器默认为上拉/下拉模式
2、控制LED灯的亮灭
设置完P0.0、P2.0后,只需给P0.0、P2.0引脚输入低电平即可点亮LED
LED闪烁代码: