我是靠谱客的博主 现实哈密瓜,最近开发中收集的这篇文章主要介绍从零开始ZigBee学习(2)——IO操作一、笔记 二、代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

一、笔记

二、代码


一、笔记

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操作一、笔记 二、代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部