ZigBee快速入门——IO配置(LED)

news2024/11/17 23:42:56

ZigBee快速入门——IO配置(LED)

  • 点亮LED
  • IO配置

建议先看IO配置再看点亮LED

点亮LED

#include <iocc2530.h>
//点亮LED(纯寄存器版)
void Delay(unsigned int n);
void InitIO(void);
void main(void){
  InitIO();
  while(1){
    P1_0 = !P1_0;
    Delay(50000);
    P1_1 = !P1_1;
    Delay(50000);
    P0_4 = !P0_4;
    Delay(50000);
  }
}

void Delay(unsigned int n){//这里定时多久不重要,重要的是有定时时间
  int i;
  for(i=0; i<n; i++);for(i=0; i<n; i++);
  for(i=0; i<n; i++);for(i=0; i<n; i++);
}

void InitIO(void){
  P1DIR |= 0x03;  // 0000 0111 配置P10/P11为输出
  P0DIR |= 0x10;  // 0001 0000 配置P04为输出
  P1_0 = 0x01;
  P1_2 = 0x01;
  P0_4 = 0x01;
}
#include <iocc2530.h>
//点亮LED(库函数版)
void Delay(unsigned int n);
void InitIO(void);
void SetLed(int LedId,int state);
void main(void){
  InitIO();
  while(1){
    SetLed(0,0);
    Delay(50000);
    SetLed(1,0);
    Delay(50000);
    SetLed(2,0);
    Delay(50000);
    
    SetLed(0,1);
    Delay(50000);
    SetLed(1,1);
    Delay(50000);
    SetLed(2,1);
    Delay(50000);


  }
}

void Delay(unsigned int n){//这里定时多久不重要,重要的是有定时时间
  int i;
  for(i=0; i<n; i++);for(i=0; i<n; i++);
  for(i=0; i<n; i++);for(i=0; i<n; i++);
}

void InitIO(void){
  P1DIR |= 0x03;  // 0000 0111 配置P10/P11为输出
  P0DIR |= 0x10;  // 0001 0000 配置P04为输出
  P1_0 = 0x01;
  P1_2 = 0x01;
  P0_4 = 0x01;
}

void SetLed(int LedId,int state){//上拉给0点亮
  if(LedId == 0){//P1_0
    if(state == 0) P1_0 = 0;
    else           P1_0 = 1;
  }
  if(LedId == 1){//P1_1
    if(state == 0) P1_1 = 0;
    else           P1_1 = 1;
  }
  if(LedId == 2){//P0_4
    if(state == 0) P0_4 = 0;
    else           P0_4 = 1;
  }  
}

和keil开发类似,也要包含头文件和main主函数
然后看自己CC2530的开发板原理图,找一下LED的位置,直接寄存器赋值将其点亮
image.png
image.png
烧录程序
需要用到硬件仿真器连接,连接后按一下按钮(相当于reset?)
电脑上要安装好驱动,没有驱动识别不出来
image.png

IO配置

工作范围:2-3.6v,推荐3.3v
封装:QFN40,40引脚

ZigBee的IO口可以有不同的工作模式,所以在用之前,需要先学会IO口怎么配置
①普通IO模式与片上外设模式—寄存器— P0SEL、P1SEL、P2SEL
②输出状态与输入状态—寄存器—P0DIR、P1DIR、P2DIR
③上拉下拉三态——PxINP(P0INP、P1INP、P2INP)
①板子上电初始化默认处于普通IO模式,即P0SEL、P1SEL、P2SEL均为0x00,如果没有用到片上外设,可以不写关于PxSEL的配置:
image.png

image.png
③如果PxINP的第六位为0,那么P06一定是三态,如果是0,那么处于上拉或下拉 (由P2INP的高三位决定此时处于上拉还是下拉的状态。)
image.png
image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1377242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

redis源码之:事件驱动epoll

一、aeEventLoop初始化 从server.c的main方法中进入initServer&#xff0c;在initServer方法中&#xff0c;server.el aeCreateEventLoop(server.maxclientsCONFIG_FDSET_INCR);创建eventloop&#xff1a;&#xff08;注意fileevent与epollevent的区分fileEvent是标识往epoll…

Frida基本能力汇总

1 需求 Frida GitHub Welcome | Frida • A world-class dynamic instrumentation toolkit 2 接口 3.1 基本能力Ⅰ&#xff1a;hook参数、修改结果 3.2 基本能力Ⅱ&#xff1a;参数构造、方法重载、隐藏函数的处理 3.3 中级能力&#xff1a;远程调用 3.4 高级能力&#xff1…

部署ATS(Apache Traffic Server)和Nginx正向代理服务性能对比

部署ATS&#xff08;Apache Traffic Server&#xff09;和Nginx正向代理服务&性能对比 1. 正向代理的用途2. ATS(Apache Traffic Server)正向代理服务器部署3. Nginx正向代理服务器部署4. 性能对比 1. 正向代理的用途 正向代理一般是用于内部网络出去&#xff0c;反向代理一…

C#实现Excel合并单元格数据导入数据集

目录 功能需求 Excel与DataSet的映射关系 范例运行环境 Excel DCOM 配置 设计实现 组件库引入 ​方法设计 返回值 参数设计 打开数据源并计算Sheets 拆分合并的单元格 创建DataTable 将单元格数据写入DataTable 总结 功能需求 将Excel里的worksheet表格导入到Da…

互联网加竞赛 基于大数据的股票量化分析与股价预测系统

文章目录 0 前言1 课题背景2 实现效果3 设计原理QTChartsarma模型预测K-means聚类算法算法实现关键问题说明 4 部分核心代码5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据的股票量化分析与股价预测系统 该项目较为新颖…

HarmonyOS4.0系统性深入开发18公共事件简介

公共事件简介 HarmonyOS通过CES&#xff08;Common Event Service&#xff0c;公共事件服务&#xff09;为应用程序提供订阅、发布、退订公共事件的能力。 公共事件从系统角度可分为&#xff1a;系统公共事件和自定义公共事件。 系统公共事件&#xff1a;CES内部定义的公共事…

如何利用RPA做UI自动化测试对传统自动化的降维打击

写在前面 RPA软件一开始的目的并不是自动化测试&#xff0c;而是要把电脑上面几十个、上百个常用的软件&#xff0c;通过机器人流程自动化来打通&#xff0c;通过一个软件来控制几十个、上百个软件。而这个过程&#xff0c;其实覆盖了软件自动化测试。 所谓降维打击&#xff0c…

webpack初始化

1.下载 webpack webpack-cli 到项目 (版本独立) ** npm i webpack webpack-cli --save-dev ** 2.项目中运行工具命念&#xff0c;采用自定义命令的方式(局部命令)

Python商业数据挖掘实战——爬取网页并将其转为Markdown

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 ChatGPT体验地址 文章目录 前言前言正则表达式进行转换送书活动 前言 在信息爆炸的时代&#xff0c;互联网上的海量文字信息如同无尽的沙滩。然而&#xff0c;其中真正有价值的信息往往埋…

【源码阅读】事件订阅包v2

1、Feed Feed 实现一对多订阅&#xff0c;其中事件的载体是通道。发送到 Feed 的值会同时传送到所有订阅的通道。 与Typemux的对比 链接: link TypeMux是一个同步的事件框架&#xff0c;当有一个被订阅的事件发生的时候&#xff0c;会遍历该事件对应的订阅者通道&#xff0c;…

ZigBee快速入门——外部中断(Key)

外部中断 :::tips 理解三道锁&#xff1a;EA——IENx——PxIEN EA-总开关 IENx-中断使能功能配置&#xff0c;可以配置程总线 IO中断&#xff08;P0、P1、P2&#xff09;&#xff0c;也可以配置程定时器等中断 PxIEN-总线中具体某一位的中断允许&#xff0c;如刚刚已经配置了 I…

vue3项目部署到服务器,刚打开没事,一刷新页面就404

vue3项目部署到服务器&#xff0c;刚打开没事&#xff0c;一刷新页面就404 vue3项目&#xff0c;在本地调试时各方面都没毛病&#xff0c;刷新也没毛病&#xff0c;但是&#xff0c;扔到服务器上&#xff0c;第一次打开是正常的&#xff0c;再刷新下就404了&#xff0c;不知道什…

软件测评中心▏性能测试之压力测试、负载测试的区别和联系简析

在如今的信息时代&#xff0c;软件已经成为人们日常工作和生活不可或缺的一部分。然而&#xff0c;随着软件的发展和应用范围的不断扩大&#xff0c;软件性能的优劣也成为了影响用户使用体验的重要因素。 软件性能测试即对软件在不同条件下的性能进行评估和验证的过程。通过模…

《MCtalk·CEO对话》正式上线!首期对话高成资本

2015 年 10 月&#xff0c;网易智企发布第一款产品&#xff0c;正式踏上了 ToB 商业化之路。从那以后&#xff0c;我们每年举办不同主题的科技峰会&#xff0c;分享最新的行业体感和洞察&#xff1b;访谈各界企业领导者&#xff0c;记录他们的创新与创业经历&#xff1b;走过大…

黑帽SEO简介

什么是黑帽 SEO&#xff1f; 黑帽SEO是一种违反搜索引擎指南的做法&#xff0c;用于使网站在搜索结果中排名更高。这些不道德的策略并不能解决搜索者的问题&#xff0c;并且通常以搜索引擎的惩罚而告终。黑帽技术包括关键字填充、伪装和使用专用链接网络。 出现在搜索结果中对…

确定性网络技术怎样实现网络的可靠性?

确定性网络技术通过采用特定的协议、机制和策略&#xff0c;有助于提高网络的可靠性。本文通过一些关键的方面&#xff0c;来说明确定性网络技术如何实现这一目标。 时钟同步机制 时钟同步机制是确定性网络中的核心角色。为了实现高度可靠的通信&#xff0c;需要采用先进的时钟…

如何进行有竞争力的SEO审计以超越行业竞争对手

许多营销人员都有兴趣密切关注竞争对手的搜索引擎优化 &#xff08;SEO&#xff09;。这是有道理的——无论你是刚开始做SEO&#xff0c;还是已经做了一段时间&#xff0c;你都希望对搜索引擎结果页面&#xff08;SERP&#xff09;的竞争格局有一个清晰的认识&#xff0c;这样你…

构建基于RHEL9系列(CentOS9,AlmaLinux9,RockyLinux9等)的MySQL8.0.32的RPM包

本文适用&#xff1a;rhel9系列&#xff0c;或同类系统(CentOS9,AlmaLinux9,RockyLinux9等) 文档形成时期&#xff1a;2023年 因系统版本不同&#xff0c;构建部署应略有差异&#xff0c;但本文未做细分&#xff0c;对稍有经验者应不存在明显障碍。 因软件世界之复杂和个人能力…

2024年软件测试面试八股文【含答案】

Part1 1、你的测试职业发展是什么&#xff1f;【文末有面试文档免费领取】 测试经验越多&#xff0c;测试能力越高。所以我的职业发展是需要时间积累的&#xff0c;一步步向着高级测试工程师奔去。而且我也有初步的职业规划&#xff0c;前3年积累测试经验&#xff0c;按如何做…

SpringBoot3.X源码分析(启动流程)

SpringBootApplication(scanBasePackages {"com.javaedge.base"} ) public class BaseApplication {public BaseApplication() {}public static void main(String[] args) {SpringApplication.run(BaseApplication.class, args);} } 1 启动入口 静态辅助类&#x…