zigbee学习之路(二)点亮LED
一.前言
今天,我来教大家如何点亮led,这也是学习开发板最基础的步骤了。
二.原理分析
cc2530芯片跟虽然是51的内核,但是它跟51单片机还是有区别的,51单片机不需要对IO口进行配置,而cc2530芯片却需要对IO口进行配置,才能对它进行赋值,需要配置的寄存器有PXSEL,PXDIR,PXINP,x可以代表任意IO口,如P1SEL。
下面介绍PXSEL的功能:
下面介绍PXDIR的功能:
下面介绍PXINP的功能:
通过配置以上寄存器的,就可以控制IO口德输入输出状态,是否做为普通IO口。
三.程序
#include <ioCC2530.h>
#define uint unsigned int #define uchar unsigned char
#define LED1 P1_0 //定义P1_0口为LED1控制端 #define LED2 P1_1 //定义P1_1口为LED2控制端
#define LED3 P1_4 //定义P1_4口为LED3控制端
/* 函 数 名 : IO_Init 功能描述 : LED_IO初始化函数 输入参数 :
NONE 输出参数 : NONE 返 回 值 : NONE */
void IO_Init(void)
{ P1DIR |= 0xff; //P1端口定义为输出
LED1 = 0; //点亮LED1
LED2 = 0; //点亮LED2
LED3 = 0; //点亮LED3 }
/* 函 数 名 : Delayms 功能描述 : 毫秒延时 输入参数 : xms:延时时间,如 i=xms 即延时i毫秒 输出参数 : none 返 回 值 : none */
void Delayms(uint xms) {
uint i,j;
for(i=xms;i>0;i--)
for(j=587;j>0;j--); }
/* 函 数 名 : main 功能描述 : LED测试(通用IO的输出使用) 输入参数 : NONE 输出参数 : NONE 返 回 值 : NONE */
void main ( void )
{ IO_Init (); //调用初始化程序
Delayms ( 2000 ); //延时2s
while ( 1 ) {
LED1 = ~ LED1;
LED2 = ~ LED2;
LED3 = ~ LED3;
Delayms ( 500 ); //延时0.5s } }
四.总结与分析
主函数中先执行初始化程序,配置IO口相关的寄存器,其他两个寄存器的默认值满足我们的要求,我们只要配置P0DIR即可,是P1口做为输出口,然后通过延时函数,实现灯闪烁的效果。
转载于:https://www.cnblogs.com/sjsxk/p/5291324.html
zigbee学习之路(二)点亮LED相关推荐
- DSP(TMSF280049C)学习笔记2:点亮LED灯
DSP(TMSF280049C)学习笔记2:点亮LED灯 实验目的:点亮Texas InstrumentsTMSF280049C开发板,LED0与GPIO23相连,下载到FLASH,具体代码如下: # ...
- Arduino学习(三)点亮LED灯
本篇开始,学习用Arduino控制各种外部电子元器件.传感器等,学习如何搭建相关电路. 用Arduino搭建电路有两种方式: 方式1: 购买并使用Arduino现成的模块:由于模块本身已经做好了电路, ...
- 前端Vue学习之路(二)-Vue-router路由
Vue学习之路 (二) Vue-router(基础版) 一.增加静态路由 二.动态路由+路由嵌套+404页面 三. 编程式导航 四.命名路由 五.命名视图 六.重定向和起别名 1.重定向 2.起别名 ...
- Hive学习之路(二):Hive表操作详讲
操作内容简介 一.操作前的准备 二.Hive表操作详讲 1. 创建数据库 2. 查看所有数据库/表 3. 在Hive上直接操作HDFS 4. 在Hive上直接执行终端命令 5. 创建数据表/查看表的信 ...
- ESP-12S学习(2)--点亮LED
跨过前面的一个烧录大坑,终于迎来自己的第一个小实验 一.工程下创建文件夹 这是我在调试的时候遇到的一个问题,串口打印的问题 我在调用uart_init()的时候报错没有定义,但是我明明就已经导入了ua ...
- python 剑指offer 学习之路(二)
剑指offer 学习之路 合并两个排序的链表 树的子结构 顺时针打印矩阵 包含min函数的栈 从上往下打印二叉树 二叉搜索树的后序遍历序列 二叉树中和为某一值的路径 复杂链表的复制 数组中出现次数超过 ...
- proteus学习笔记一:点亮LED
最近想学习下C51单片机,懒得折腾硬件了,就用proteus软件学习下,把过程记录下,希望能够帮助到想学习C51的人吧. 一.软件安装 1)proteus 8.13安装,请看这里:https://ww ...
- Spring Boot 学习之路二 配置文件 application.yml
一.创建配置文件 如图所示,我们在resources文件夹中新建配置文件application.yml 结构图 二.一些基本配置 server: port: 8090 //配置端口session-ti ...
- ZigBee学习笔记——(二)IEEE 802.15.4无线传感器网络通信标准
第二章 IEEE 802.15.4无线传感器网络通信标准 一.IEEE 802.15.4标准概述 二.网络组成和拓扑结构 1.网络组成 2.拓扑结构 ①星状网络 ②点对点网络 三.IEEE 802.1 ...
最新文章
- (多图) 基于Verilog HDL的FIR数字滤波器设计与仿真
- python与编码方式
- MATLAB从入门到精通系列之如何实现KNN算法
- opentesty--luasocket 安装
- 006-筛选分类排序搜索查找Filter-Classificatio-Sort-Search-Find-Seek-Locate
- wingdows安装psutil_python 第一步
- php测试号推送消息失败,信息发送失败是什么原因
- 三元操作符(即条件表达式)
- Win2008r2 由ESXi 转换到 HyperV的处理过程
- 富途证券招股书解读:近2个月客户资产下降
- deeping linux安装安卓,给Deeping Linux系统官方的一封信,希望官方看到
- 【bzoj1143: [CTSC2008]祭祀river】有向无环图的最长反链
- 计算机窗口闪屏,电脑玩游戏闪屏是什么原因(对应的解决方法)
- 云计算实战应用案例精讲-【深度学习】多模态融合(论文篇四)
- redis IO模型的演进
- Error from chokidar (C:\): Error: EBUSY: resource busy or locked, lstat ‘D:\DumpStack.log.tmp
- 四川大学计算机专业调剂,2019年四川大学计算机学院(软件学院)考研调剂信息
- 一摞烙饼的排序(搜索树)
- 笑话理解之Devil
- 2020,中国互联网的后高光时刻
热门文章
- java byte 正数最大_为什么Java byte 类型的取值范围是-128~127
- linux 安装 zookeeper 管理端, dubbo-admin 访问 404
- libevent java_libevent简介
- 网站推广期间出现排名异常网站推广专员应如何应对?
- 影响网站权重的关键性因素有哪些?
- 浅析网站SEO优化用户体验值包括什么后续又该如何进行提升?
- linux端口转发到windows,Linux及Windows基于工具的端口转发
- python对话框机制_Chromium 新的弹窗机制以及 HTML 的 dialog 元素
- r软件linux 安装失败,R语言在Linux环境下安装Curl出错问题的解决
- numpy 深复制 切片创建视图