cc2530的通用IO和外设IO的区别

用作通用I/O 时,引脚可以组成3 个8 位端口,端口0、端口1 和端口2,表示为P0、P1 和P2。其中,P0 和P1 是完全的8 位端口,而P2 仅有5 位可用。所有的端口均可以通过SFR 寄存器P0、P1 和P2 位寻址和字 节寻址。每个端口引脚都可以单独设置为通用I/O 或外部设备I/O。
能力。
寄存器PxSEL,其中x 为端口的标号0~2,用来设置端口的每个引脚为通用I/O 或者是外部设备I/O 信号。作为缺省的情况,每当复位之后,所有的数字输入/输出引脚都设置为通用输入引脚。
在任何时候,要改变一个端口引脚的方向,就使用寄存器PxDIR 来设置每个端口引脚为输入或输出。因此只要设置PxDIR 中的指定位为1,其对应的引脚口就被设置为输出了。
用作输入时,通用I/O 端口引脚可以设置为上拉、下拉或三态操作模式。作为缺省的情况,复位之后,所 有的端口均设置为带上拉的输入。要取消输入的上拉或下拉功能,就要将PxINP 中的对应位设置为1。I/O 端口 引脚P1.0 和P1.1 没有上拉/下拉功能。注意配置为外设I/O 信号的引脚没有上拉/下拉功能,即使外设功能是一 个输入。

设置I/O口寄存器:

PXSEL (x=0~2)为端口X的每个引脚的功能选择Px_7~Px_0---设置为‘0’表示通用I/O(默认设置),设置‘1’表示外设功能。

PXDIR为端口X的方向选择寄存器:Px_7~Px_0---设置‘0’表示输入,‘1’表示输出。

PXINP 为端口X的输入模式寄存器:设置了PX_7~PX_0P)的I/O输入模式---0’表示上拉/下拉,‘1’表示三态。注:P1_0P1_1没有上拉,下拉功能。

你可能感兴趣的:(嵌入式软件设计)