概述
目录
一、笔记
二、代码
一、笔记
1.cc2530所有口子都可以作为普通或对应的片上外设控制,P2有5个IO口,P2_1和P2_2口通常用来下程序,一般不用做普通IO口,所以P2SEL的低3位分别对应P2_0、P2_3、P2_4
2.输出怎么配置:
需要让P1_0处于普通IO口模式,非是偏上外设的模式 P1SEL 的第0位 (0为普通IO模式;1为片上外设模式)
//管理所有IO处于普通IO还是偏上外设,由P0SEL P1SEL P2SEL 决定
让P1_0处于输出状态,非输入状态 找到P1DIR 第0位 让它等于1
//让所有IO口处于输入状态还是输出状态由P0DIR P1DIR P2DIR 决定
P1_0=1;
输入怎么配置:
让P0_6处于普通IO口,非偏上外设模式 P0SEL 的第6位为0
让P0_6处于输入状态,非输出状态 P0DIR 的第6位为0
让P0_6处于上拉、下拉或者三态(高电阻,ADC采集时)中的一种状态
P0INP寄存器为1:三态;为0:上下拉;具体的上下拉用P2_5、6、7的三位的0、1表示
if(1==P0_6)
{//检测到的是高电平
}
else
{//检测到的P0_6外部是低电平
}
二、代码
#include<iocc2530.h>
void main()
{
/*
//这里看P1SEL初始为1; P1DIR初始为0; 但通电后P1SEL默认为0
P1SEL &= 0XFE;// 1111 1110 让P1_0处于普通IO口,非片上外设模式(使某一位为0)
P1DIR |= 0X01;// 0000 0001 让P1_0处于输出状态,非输入状态 (使某一位为1)
P1_0 = 0;
*/
/*
P0SEL &= 0XEF;// 1110 1111
P0DIR |= 0X10;// 0001 0000
P0_4 = 0;
*/
P0SEL &= 0XEF;// 1110 1111
P0DIR |= 0X10;// 0001 0000
//所有IO口都是默认上拉输入,所有寄存器都是0
P0SEL &= 0XBF;// 1011 1111
P0DIR &= 0XBF;//
P0INP &= 0XBF;// 让P0_6处于上下拉模式
P2INP &= 0XDF;// 1101 1111 让P0组处于上拉模式
while(1)
{
if(P0_6 == 1)//拔掉跳线帽
{
//检测到的是高电平
P0_4 = 0;
}
else
{
//检测到的P0_6外部是低电平
P0_4 = 1;
}
}
}
教学视频链接:手把手教你学zigbee_哔哩哔哩_bilibili
最后
以上就是现实哈密瓜为你收集整理的从零开始ZigBee学习(2)——IO操作一、笔记 二、代码的全部内容,希望文章能够帮你解决从零开始ZigBee学习(2)——IO操作一、笔记 二、代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复