一、引脚概述
CC2530有40 个引脚。其中,有21个数字I/O端口,其中P0和P1是8 位端口,P2仅有5位可以使用。P2端口的5个引脚中,有2个需要用作仿真,有2个需要用作晶振。所以可供我们使用的就只有17个引脚了。
操作微控制器的本质,就是对这些特殊功能寄存器(SFR)进行读写操作,并且某些特殊功能寄存器可以位寻址。
每一个特殊功能寄存器本质上就是一个内存单元,为了便于使用,每个特殊功能寄存器都会起一个名字,在程序设计时,只要引入头文件“ioCC2530.h”,就可以直接使用寄存器的名称访问内存地址了。
CC2530的通用I/O端口相关的常用寄存器有下面4个:
<1> PxSEL:端口功能选择,设置端口是通用I/O还是外设功能。
<2> PxDIR:作为通用I/O时,用来设置数据的传输方向。
<3> PxINP:作为通用输入端口时,选择输入模式是上拉、下拉还是三态。
<4> Px:数据端口,用来控制端口的输出或获取端口的输入。
具体的寄存器功能和应用下面会说到。
二、设置寄存器的方法
<1> 对寄存器的某些位清0而不影响其他位。
使用“&=”将寄存器指定位清0,同时不影响其他位的值。
因为:逻辑“与”操作的特点是,该位有0结果就为0,若为1则保存原来值不变。
Tip:该方法只能操作多位同时清0,或者某一位清