zigbee学习笔记:IO操作

news2024/11/25 20:39:48

1、IAR新建工程

(1)Projetc→Create New Projetc→OK→选择位置,确定

(2)新建一个c文件,保存在路径中

(3)点击工程,右键→add→加入c文件

(4)点击编译,保存工作空间,写入空间名称,

(5) 配置工程,右键→Options→选择器件

 →选择CC2530F256

(6)链接,Options下→Linker→勾选Override default。在上侧选项Output中,勾选Allow C-SPY-spaceific extra output file

(7)Options下→Debugger→Driver→选择仿真器Texas Instruments

2、控制IO输出

以此原理图为例,控制P1_0的LED亮

IO配置过程:

(1)让P1_0为普通IO模式,非片上外设模式。控制寄存器为P0SEL、P1SEL、P2SEL。

PxSEL寄存器相应的IO口,决定他是普通外设还是片上外设,0表示普通IO口,1表示外设IO口。

P0SEL与P1SEL对应如下:

 P2SEL些许不同,因P2只有5个IP。但是P2_1、P2_2用于下载程序,所以不需要配置:

 

(2)让P1_0处于输出状态,非输入状态。控制寄存器为P0DIR、P1DIR、P2DIR

PxDIR寄存器对应的IO口,决定它是输入还是输出,0表示输入,1表示输出

P0DIR与P1DIR对应如下:

 P2DIR对应如下:

 (3)具体代码

输出

把某一位清零使用 &=

eg:把P1_0位置清零,即P1_0处于普通IO口状态

P1SEL &= 0xFE; //1111 1110

把某一位置1使用 |=

eg:把P1_0强行置1,即P1_0处于输出状态

P1DIR |= 0x01; //0000 0001

根据原理图,P1_0处于低电平模式即可点亮LED

P1_0=0;

完整代码如下:

#include <iocc2530.h>

void main()
{
  P1SEL &= 0xFE; //1111 1110
  P1DIR |= 0x01; //0000 0001
  P1_0=0;
  
  while(1)
  {
    
  }
}

输入

若要配置P0_6输入,步骤如下

(1)处于普通IO口

(2)处于输入状态

(3)处于上拉、下拉或者三态状态

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

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

相关文章

10、go工程化与标准库

目录一、用go mod管理工程二、包引入规则三、init调用链四、可见性五、标准库1 - 时间函数2 - 数学计算3 - I/O操作4 - 编码一、用go mod管理工程 初始化项目&#xff1a;go mod init $module_name&#xff0c;$module_name和目录名可以不一样。上述命令会生成go.mod文件 mod…

除了「加机器」,其实你的微服务还能这样优化

生产实践中&#xff0c;如果遇到业务流量变高导致服务负载升高甚至报警&#xff0c;我们的第一反应往往是「加机器」。 俗话说&#xff0c;能用钱解决的问题都不是问题。 俗话又说&#xff0c;充钱你就能变得更强。 但是&#xff0c;作为一个有理想有抱负的架构师&#xff0c;…

前端——7.图像标签和路径

这篇文章&#xff0c;我们来讲解一下图像标签 目录 1.图像标签 1.1介绍 1.2实际展示 1.3图像标签的属性 1.3.1 alt属性 1.3.2 title属性 1.3.3 width / height 属性 1.3.4 border属性 1.4注意事项 2.文件夹 2.1目录文件夹和根目录 2.2 VSCode打开目录文件夹 3.路…

决策树学习报告

报告 一、基本概念 决策树的定义&#xff1a;首先&#xff0c;决策树是一种有监督的分类算法——即给定X&#xff0c;Y值&#xff0c;构建X&#xff0c;Y的映射关系。不同于线性回归等是多项式&#xff0c;决策树是一种树形的结构&#xff0c;一般由根节点、父节点、子节点、…

MyBatis-Plus的入门学习

MyBatis-Plus入门学习简介特性快速开始MyBatis-Plus的注解详解Tableld主键生成策略1、数据库自动增长 AUTO2、UUID3、Redis生成id4、MP主键自动生成TableNameTableField自动填充测试方法&#xff1a;update乐观锁select查所有根据id查多个id批量查询简单条件查询&#xff08;通…

MySQL性能优化

MySQL性能调优 存储数据类型优化 尽量避免使用 NULL尽量使用可以的最小数据类型。但也要确保没有低估需要存储的范围整型比字符串操作代价更低使用 MySQL 内建的数据类型&#xff08;比如date、time、datetime&#xff09;&#xff0c;比用字符串更快 基本数据类型 数字 整数…

中国巨头在NLP领域的大模型布局

什么是大模型&#xff1f; 大规模模型&#xff08;large-scale model&#xff09;是近年来人工智能领域的一个热点话题&#xff0c;因为它们可以对自然语言处理&#xff08;NLP&#xff09;和其他任务进行更准确和深入的处理。由于大模型需要庞大的计算资源和数据支持&#xf…

论文投稿指南——中文核心期刊推荐(国家财政)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

SpringSecurity第二讲

目录 二、SpringSecurity02 2.1 JWT概述 2.1.1 JWT介绍 2.1.2 跨域认证问题 2.2 JWT的原理 2.3 JWT的数据结构 2.3.1 Header 2.3.2 Payload 2.3.3 Signature 2.4 JWT的使用方式 2.5 JWT的使用 2.5.1 引入JWT依赖 2.5.2 编写JWT工具类 2.6 编写前后端不分离的项目…

【C语言】每日刷题 —— 牛客语法篇(3)

前言 大家好&#xff0c;继续更新专栏c_牛客&#xff0c;不出意外的话每天更新十道题&#xff0c;难度也是从易到难&#xff0c;自己复习的同时也希望能帮助到大家&#xff0c;题目答案会根据我所学到的知识提供最优解。 &#x1f3e1;个人主页&#xff1a;悲伤的猪大肠9的博客…

sd卡格式化后数据恢复怎么操作

有时候我们需要清空SD卡数据文件&#xff0c;有时候则是因为需要修复SD卡所以需要格式化&#xff0c;但是却被提示无法格式化SD卡。这种情况往往是由于平时SD卡使用时的一些不良习惯或是SD卡中病毒&#xff0c;病毒在运行SD卡中的软件所造成的。那么sd卡格式化后数据恢复怎么操…

[数据结构]栈的深入学习-java实现

CSDN的各位uu们你们好,今天千泽带来了栈的深入学习,我们会简单的用代码实现一下栈, 接下来让我们一起进入栈的神奇小世界吧!0.速览文章一、栈的定义1. 栈的概念2. 栈的图解二、栈的模拟实现三.栈的经典使用场景-逆波兰表达式总结一、栈的定义 1. 栈的概念 栈&#xff1a;一种…

国密SM4分组密码算法

前言密码&#xff0c;是指使用特定变换对数据等信息进行加密保护或安全认证的物项&#xff08;承载算法、密钥、密文的介质&#xff09;和技术&#xff0c;主要用于加密和安全认证&#xff08;身份识别、完整性、抗抵赖性&#xff09;。密码按照保密等级&#xff0c;又分为核密…

06 电力电子仿真 MATLAB/Simulink

文章目录01 单相半波整流电路02 单相全波整流电路&#xff08;子系统封装模块&#xff09;03 三相桥式整流电路&#xff08;三相模块与示波器使用&#xff09;04 相控与斩控交交调压&#xff08;THD计算&#xff09;05 Buck电路&#xff08;PWM实现与闭环反馈&#xff09;06 单…

【STL】Vector剖析及模拟实现

✍作者&#xff1a;阿润菜菜 &#x1f4d6;专栏&#xff1a;C vector的常用接口 首先贴上&#xff1a;vector的文档介绍,以备查阅使用。 vector的基本框架&#xff1a; vector的成员变量分别是空间首部分的_start指针和最后一个元素的下一个位置的_finish指针&#xff0c;以…

Tomcat安装及启动

日升时奋斗&#xff0c;日落时自省 目录 1、Tomcat下载 2、JDK安装及配置环境 3、Tomcat配置环境 4、启动Tomcat 5、部署演示 1、Tomcat下载 直接入主题&#xff0c;下载Tomcat 首先就是别下错了&#xff0c;直接找官方如何看是不是广告&#xff0c;或者造假 搜索Tomc…

【强度混合和波段自适应细节融合:PAN-Sharpening】

Intensity mixture and band-adaptive detail fusion for pansharpening &#xff08;用于全色锐化的强度混合和波段自适应细节融合&#xff09; 全色锐化的目的是通过高分辨率单通道全色&#xff08;PAN&#xff09;图像锐化低分辨率多光谱&#xff08;MS&#xff09;图像&a…

ChatGPT、人工智能、人类和一些酒桌闲聊

© 2023 Conmajia Initiated 10th March, 2023 昨天跟某化学家喝酒&#xff0c;期间提到了 ChatGPT。他的评价是&#xff1a;这鬼东西大量输出毫无意义、错漏百出甚至是虚假的信息&#xff0c;“in a confident accent”。例如某次 GPT 针对“描述某某记者”这一问题&#…

C++的入门

C的关键字 C总计63个关键字&#xff0c;C语言32个关键字 命名空间 我们C的就是建立在C语言之上&#xff0c;但是是高于C语言的&#xff0c;将C语言的不足都弥补上了&#xff0c;而命名空间就是为了弥补C语言的不足。 看一下这个例子。在C语言中会报错 #include<stdio.h>…

【C++】C++11——左右值|右值引用|移动语义|完美转发

文章目录一、左值与右值1.概念2.引用3.注意二、右值引用的意义1.左值引用意义2.右值引用和移动语义3.容器新增三、万能引用四、完美转发一、左值与右值 1.概念 左值是什么&#xff1f;右值是什么&#xff1f; 左值是一个表示数据的表达式&#xff08;如变量名或解引用的指针&…