zigbee笔记:—、IO基本设置+点亮LED

笔者正在进行基于芯片为CC2530的zigbee模块的开发工作。本文是笔者基于网络上现有的zigbee学习资料进行学习时的总结,目的是记录自己学习zigbee的历程,同时作为笔记进行分享。

以下三篇转载文章帮助入门zigbee开发

(1)zigbee概念与认识:

Zigbee入门概念及背景知识_zigbee背景-CSDN博客

(2)zigbee开发资料参考:Zigbee学习准备工作(相关软件和Zigbee学习资料下载)_zigbee通信技术资料下载-CSDN博客

(3)zigbee开发工具安装参考:2、ZigBee 开发教程之基础篇—Zigbee 开发平台的构建_zigbee用什么软件写-CSDN博客

一、IO口设置

本文使用的zigbee模块的通用IO有21个,分别为P0_0-P0_7、P1_0-P1_7、P2_0-P2_4。一般的,IO即可以通用的输入输出口,同时也可以复用外设口(计数、外部中断功能等)。

1、认识三类寄存器

(1)PxSEL寄存器(x=0、1),配置IO口是普通输入输出IO,还是做片上外设口;

(2)PxDIR寄存器(x=0、1),配置IO口的输入输出方向;

(3)PxINPx=01)寄存器,用于配置IO口组的上拉模式或者三态模式;P2INP寄存器,配置IO口的上拉、下拉模式。

二、点亮一个LED灯

点亮一个LED灯,等于是设置一IO作为普通输出口,并控制它的输出状态值即可。

1、LED灯原理图

2、代码

//闪烁一个LED灯

#include <iocc2530.h>
#include "zfm.h"

#define led0 P1_0   //led灯宏申明


void init_led0()
{
    P1SEL &= 0xfe;  //设置LED对应GPIO口的工作模式
    P1DIR |= 0x01;   //设置输入输出模式
//P1INP和P2INP使用默认即可,也可手动确保配置
}

void main()
{
    init_led0();
    while( 1 )
    {
        led0 = ~led0 ;
        delayms( 500 );
    }
}

在开发工具编译下载到zigbee开发板运行,观察现象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值