ZigBee控制GPIO端口输入输出

1,我们要知道三个关键寄存器

  PxSEL        //决定IO口功能,                          1表示片上外设,0表示普通IO口
  PxDIR        //决定输入还是输出,                    1表示输出,       0表示输入
  PxINP        //决定是上下拉模式还是三态,      1表示三态,       0表示上下拉

其中需要注意,

P2INP这个寄存器有点特殊,它的低四位是控制P2口上拉模式还是下拉模式,而高三位7,6,5是对应控制P2-P0的GPIO端口具体是上拉还是下拉!只要设置某一个IO口为上拉还是下拉,那么这一组IO口都是上拉或是下拉模式。0表示上拉,1表示下拉。

2,例如初始化P1_0为输出模式,点亮一个LED灯

   P1SEL &=~0x01;                  //将P1SEL的第0位置零,其实这句可以不写,因为上电默认IO口是0;不过为了严谨还是写上。

   P1DIR |= 0x01;                     //将P1DIR的第0位置1,输出模式。

   P1INP |= 0x01;                     //将的P1INP第0位置1,表示浮空,输出的话这个其实也不用配置

以上就配置好了一个IO口了!对P1_0进行操作就可以控制LED灯的亮灭啦!

3,例如初始化P1_1作为输入,用来进行按键检测

   P1SEL &=~0x02;                   //将P1SEL的第1位置0,普通IO口。

   P1DIR &=~0x02;                   //将P1DIR的第1位置0,输入模式。

   P1INP &=~0x02;                     //将P1INP第1位置0,上下拉模式。

   P2INP &=~0x40;                     //将P2INP第6位置0,设置P1口为上拉模式。

以上就完成了,我们只需要读取P1_1就可以对按键进行检测了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值