zigbee深入浅出第二讲硬件相关IO操作
Posted 超级可爱的夹心小朋友
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zigbee深入浅出第二讲硬件相关IO操作相关的知识,希望对你有一定的参考价值。
1.要掌握zigbee基本工作电路
2.zigbee无线模块于TI CC2530基本工作电路有什么不同。
多出来一块复位芯片,从CC2530芯片直接引出下载的相关5跟线,为CC2530下载程序,五根线为:电源、地线、P2_1 35、P2_2 34、RESET_N 20。
3.学会随心所遇的控制所有口子的输入输出
CC2530工作范围:2-3.6V(推荐3.3V)
一个有21个通用IO口,分别为:P0_0 到P0_7(8个)、P1_0 到P1_7(8个)、P2_0 到P2_4(5个),这些口子可以作为普通或对应的片上外设。其中P1_0 P1_1 有20mA的输出驱动能力,其余的只有4mA.
输出怎么配置:
需要让P1_0处于普通IO口模式,非片上外设的模式,则P1SEL的第0位为0。
管理所有IO口处于普通IO模式还是片上外设由P0SEL、P1SEL、P2SEL决定。PxSEL寄存器(x=0、1)相应的一个IO,决定它是普通IO口还是片上外设,0表示普通IO口,1表示片上外设。 默认接口是0,所以有时候作为普通IO口时有时候不写。
让P1_0处于输出状态,非输入状态。找到P1DIR第0位,让它等于1,即P1_0=1
管理所有IO口处于输入状态还是输出状态由P0DIR P1DIR P2DIR决定。PxDIR寄存器(x=0、1)每一位对应具体的IO组中的相应的一个IO,决定输入还是输出,0表示输入,1表示输出。默认接口是0。
让P1_0处于上下拉模式,非三态状态。找到P1INP第0位,让它等于0,即P1_0=0
管理所有IO口处于上下拉状态还是三态状态由P0INP、P1INP、P2INP决定。PxINP寄存器(x=0、1)在输入请的情况下,每一位对应具体的IO组中的相应的一个IO,决定它是上下拉模式还是三态,0表示上下拉,1表示三态。P2INP寄存器功能也是一样的,特别注意:其中后面的3位决定在配置为上下模式的时候,组为上拉,还是下拉,0表示是上拉,1表示下拉。默认接口是0。
P2INP寄存器位 7 6 5 4 3 2 1 0
Px组对应的IO口的位 P2组 P1组 P0组 P2_4 P2_3 P2_2 P2_1 P2_0
让P0_6处于普通IO口,非片上外设,则P0SEL的第6位为0
让P0_6处于输入状态,非输出状态,则P0DIR的第6位为0
让P0_6处于上拉、下拉或三态中的一种状态,
#include<iocc2530.h>
void main()
P0SEL&=0xEF;//1110 1111 普通IO口
P0DIR|=0x10;//0001 0000 输出状态
P0_4=1;//P0_4输出高电平
P0SEL&=0xBF;//1011 1111 普通IO口
P0DIR&=0xBF;//1011 1111 输入状态
P0INP&=0xBF;//1011 1111 让P0_6处于上下拉模式
P2INP&=0xDF;// 1101 1111 让P0组处于上拉模式
while(1);//死循环
if(1==P0_6)
//检测到P0_6高电平
P0_4=0;
else
//检测到P0_6低电平
P0_4=1;
以上是关于zigbee深入浅出第二讲硬件相关IO操作的主要内容,如果未能解决你的问题,请参考以下文章