您的位置:首页 > 其它

学习zigbee,CC2530中的问题:关于P0,P1,P2端口的设置问题(SEL,DIR,INP)

2015-07-01 10:42 781 查看
关于P0,P1,P2端口的设置问题(SEL,DIR,INP)
首先要说的是,P0有八个引脚(分别是P0_0,P0_1,P0_2,P0_3,P0_4,P0_5,P0_6,P0_7),P1也有八个引脚(P1_0,P1_1,P1_2,P1_3,P1_4,P1_5,P1_6,P1_7),P2(P1_0,P2_1,P2_2,P2_3,P2_4)有五个引脚,一共就有21个引脚。

关于SEL:这是用于设置端口为普通I/O口,还是外设I/O口。从表面意义上看普通I/0口就是基本的输入输出端口,而外设I/O口就是连接外部设备的端口。

从下图可以看出,普通的I/0口的值为0,举例:比如要讲P0_4,P0_5设置为普通I/O,那么就是:P0SEL &=~0x30;具体讲解如下:P0有八个引脚从高到低为:。7 6 5 4 3 2 1 0.

那么,我们来看P0SEL&=~0x30,0x30就是0011 0000,(这两个1就是对应的地5,4引脚),~0x30就是1100 1111,结合下面这张图我们就可以看出,0:为通用I/O。所以,P0_4,P0_5

就设置普通I/O了。






关于DIR:DIR即direction的缩写,方向的意思。这是用于设置引脚是输出模式,还是输入模式的。从下图可以看出,0表示输入,1表示输出。同样设置某几个引脚的方法和上面SEL设置差不多。例子如下图





关于INP:这是用于设置引脚为上拉,下拉、或者三态操作模式的。要注意的是P1_0和p1_1没有上啦和下拉功能。关于三态,我也不是很了解,我看网上说的是和按键输入有关。






注意:P2INP可以配置P0,P1,P2端口为上拉或者下拉



最后。希望看到这篇文章能够帮到你解决自己的疑惑。这是第一次写专业相关的文章,还请大家多多纠正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: