5.外部中断

中断初始化配置步骤:

  1. IO口初始化配置

  2. 开启中断总允许EA

  3. 打开某个IO口的中断允许

  4. 打开IO口的某一位的中断允许

  5. 配置该位的中断触发方式

中断函数:

#pragma vector = PxINT_VECTOR
__interrupt void 函数名(void){}

#pragma vector = PxINT_VECTOR
__interrupt void 函数名(void){}

image-20230927151133992

中断配置寄存器

IENx中断使能寄存器

image-20230927151945997

image-20230927151707935

image-20230927151729874

如果使能P0口中断,可直接使用P0IE = 1,但是使能P1/P2口中断,不能直接对单独的某一位进行操作,需要进行或操作开启,如IEN2 |= 0x10; // 0001 0000 相当于P1IE=1

PxIEN 通用 I/O 中断

通用 I/O 引脚设置为输入后,可以用于产生中断。中断可以设置在外部信号的上升或下降沿触发。P0、P1或 P2 端口都有中断使能位

image-20230927152159630

PICTL 中断边缘寄存器

image-20230927152314064

PxIFG中断状态标志寄存器

当中断条件发生在 I/O 引脚之一上面,P0-P2 中断标志寄存器 P0IFG、P1IFG 或 P2IFG 中相应的中断状态标志将设置为 1。不管引脚是否设置了它的中断使能位,中断状态标志都被设置。当中断已经执行,中断状态标志被清除,该标志写入 0。

【硬件置1,软件清0】

image-20230927152543051

IO口中断状态标志

image-20230927155024657

image-20230927155039070

中断服务函数

#pragma vector = PxINT_VECTOR

PxINT_VECTOR:需要根据自己选择的中断口自行改动(0,1,2)

其他部分不要改动

__interrupt void 函数名(void){ //清除中断标志 PxIFG=0; PxIF=0;}

自己根据需求编写函数名,然后根据打开的中断IO口,进行标志位清零

中断样例

#include<iocc2530.h>void main(){P0SEL &= ~0x20;//P0_5设置为通用I/O口 1101 1111P0DIR &= ~0x20;//P0_5设置为输入P0INP &= ~0x20;//P0_5设置为上下拉P2INP &= ~0X20;//P0_5设置为上拉  //1.打开中断总允许EA=1;//2.打开P0口中断允许P0IE = 1;/*P1IE如果要设置为1,不能直接用P1IE = 1,不能直接使用位操作应该使用 IEN2 |= 0x10; // 0001 0000 相当于P1IE=1*///3.打开组内的某一位中断允许P0IEN |= 0x20;//P0_5中断打开 0010 0000//4.设置触发方式PICTL |=0x01;//把P0这一组配置成下降沿触发while(1);
}#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void){ //P0_ISR为函数名,可自行定义if(P0IFG & 0x20)//判断P0_5是否发生中断{}//清除中断标志 P0IFG=0;P0IF=0;
}

#include<iocc2530.h>

void main(){

P0SEL &= ~0x20;//P0_5设置为通用I/O口 1101 1111
P0DIR &= ~0x20;//P0_5设置为输入
P0INP &= ~0x20;//P0_5设置为上下拉
P2INP &= ~0X20;//P0_5设置为上拉

//1.打开中断总允许
EA=1;
//2.打开P0口中断允许
P0IE = 1;

/*
P1IE如果要设置为1,不能直接用P1IE = 1,不能直接使用位操作
应该使用 IEN2 |= 0x10; // 0001 0000 相当于P1IE=1
*/

//3.打开组内的某一位中断允许
P0IEN |= 0x20;//P0_5中断打开 0010 0000
//4.设置触发方式
PICTL |=0x01;//把P0这一组配置成下降沿触发

while(1);
}

#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void){ //P0_ISR为函数名,可自行定义
if(P0IFG & 0x20)//判断P0_5是否发生中断
{
}
//清除中断标志
P0IFG=0;
P0IF=0;
}
Zigbee这个名字的灵感来源于蜂群的交流方式:蜜蜂通过Z字形飞行来通知发现的食物的位置、距离和方向等信息。Zigbee联盟便以此作为这个新一代无线通信技术的名称。 [2]
蜜蜂在发现花丛后会通过一种特殊的肢体语言来告知同伴新发现的食物源位置等信息,这种肢体语言就是ZigZag行舞蹈,是蜜蜂之间一种简单传达信息的方式。借此意义Zigbee作为新一代无线通讯技术的命名。在此之前ZigBee也被称为“HomeRF Lite”、“RF- EasyLink”或“fireFly”无线电技术,统称为ZigBee。
简单的说,ZigBee是一种高可靠的无线数传网络,类似于CDMA和GSM网络。ZigBee数传模块类似于移动网络基站。通讯距离从标准的75m到几百米、几公里,并且支持无限扩展。
ZigBee是一个由可多到65535个无线数传模块组成的一个无线数传网络平台,在整个网络范围内,每一个ZigBee网络数传模块之间可以相互通信,每个网络节点间的距离可以从标准的75m无限扩展。
与移动通信的CDMA网或GSM网不同的是,ZigBee网络主要是为工业现场自动化控制数据传输而建立,因而,它必须具有简单,使用方便,工作可靠,价格低的特点。而移动通信网主要是为语音通信而建立,每个基站价值一般都在百万元人民币以上,而每个ZigBee“基站”却不到1000元人民币。
每个ZigBee网络节点不仅本身可以作为监控对象,例如其所连接的传感器直接进行数据采集和监控,还可以自动中转别的网络节点传过来的数据资料。除此之外,每一个ZigBee网络节点(FFD)还可在自己信号覆盖的范围内,和多个不承担网络信息中转任务的孤立的子节点(RFD)无线连接。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【pytest】 标记冒烟用例 @pytest.mark.smoke

1. 使用 pytest.mark.smoke 标记用例 import pytest class Test_Smoke:def test_01(self):assert 112pytest.mark.smokedef test_02(self):assert 121pytest.mark.smokedef test_03(self):assert 1 2 3 2.配置文件pytest.ini [pytest] markers smoke 3. 运行指定标签 运…

网络安全复习大纲wcf

单选10判断10填空30简答25分析25 选择 &#xff08;1&#xff09;计算机网络安全是指利用计算机网络管理控制和技术措施&#xff0c;保证在网络环境中数据的&#xff08; &#xff09;、完整性、网络服务可用性和可审查性受到保护。 A、保密性 B、抗攻击性 C、网络服务管理性 …

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机

文章目录 1.添加基本组件2.创建NetworkManager组件3.创建Player4.创建地面5.创建GameManager6.编译运行7. 测试联机后话 1.添加基本组件 NetworkManagerPlayerScene 2.创建NetworkManager组件 创建一个空物体&#xff0c;命名为NetworkManager 选择刚刚创建的NetworkManager…

VS2022 编译protobuf , qt 使用

一、下载源码 protobuf: 同步 https://github.com/protocolbuffers/protobuf (gitee.com) 下载如v3.11.2 版本 二、下载CMake 三、编译 1、在1处选择源码目录下的cmake 目录&#xff1b;在2处选择一处空目录&#xff08;自己随便建&#xff09; 2、点击config&#xff0c;选择…

【面试八股】IP协议八股

IP协议八股 子网掩码的作用为什么IP协议需要分片IP协议什么时候需要分片IP协议是怎么进行分片的那么IP协议是如果进行标识属于同一个分片呢&#xff1f;TCP协议和UDP协议将数据交给IP协议之后&#xff0c;是否需要分片传输&#xff1f; 子网掩码的作用 用来标识网络号和主机号…

新媒体运营的未来:ChatGPT的智能助手

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 新媒体运营是数字时代的…

【李沐深度学习笔记】线性回归的从零开始实现

课程地址和说明 线性回归的从零开始实现p3 本系列文章是我学习李沐老师深度学习系列课程的学习笔记&#xff0c;可能会对李沐老师上课没讲到的进行补充。 线性回归的从零开始实现 不使用任何深度学习框架提供的计算功能&#xff0c;只使用PyTorch提供的Tensor来实现线性回归…

合肥对新通过(CMMI)五级、四级、三级认证的软件企业,对新通过信息技术服务标准(ITSS)认证的软件企业,给予最高50万奖励

合肥市加快软件产业发展 推进软件名城创建若干政策实施细则 为贯彻落实《合肥市人民政府办公室关于印发合肥市加快软件产业发展推进软件名城创建若干政策的通知》&#xff08;合政办〔2023〕9号&#xff09;文件精神&#xff0c;规范政策资金管理&#xff0c;制定本实施细则。…

linux内网渗透

一、信息收集 主机发现&#xff1a; nmap -sP 192.168.16.0/24 端口探测 masscan -p 1-65535 192.168.16.168 --rate1000 开放端口如下 nmap端口详细信息获取 nmap -sC -p 8888,3306,888,21,80 -A 192.168.16.168 -oA ddd4-port目录扫描 gobuster dir…

同创永益CNBR平台——云原生时代下的系统稳定器

随着各行业数字化的快速发展&#xff0c;企业的业务运作、经营管理越来越依赖于云原生系统的可靠运行。信息系统服务的连续性, 业务数据的完整性、正确性、有效性会直接关系到企业的生产、经营与决策活动。一旦因自然灾害、设备故障或人为因素等引起信息数据丢失和云原生业务处…

TextSniper for Mac: 革新您的文本识别体验

你是否曾经需要从图片或扫描文档中提取文本&#xff0c;却苦于没有合适的工具&#xff1f;那么&#xff0c;TextSniper for Mac将是你的完美解决方案。这款文本识别工具将彻底改变你处理图像和扫描文件的方式&#xff0c;让你更快速、更高效地完成任务。 TextSniper for Mac 是…

Apache Hive安装部署详细图文教程

目录 一、Apache Hive 元数据 1.1 Hive Metadata 1.2 Hive Metastore 二、Metastore 三种配置方式 ​2.1 内嵌模式 ​2.2 本地模式 ​2.3 远程模式 ​三、Hive 部署实战 3.1 安装前准备 3.2 Hadoop 与 Hive 整合 3.3 远程模式安装 3.3.1 安装 MySQL 3.3.2 …

基于Matlab求解2023华为杯研究生数学建模竞赛E题——出血性脑卒中临床智能诊疗建模实现步骤(附上源码+数据)

文章目录&#xff0c;源码见文末下载 背景介绍准备工作&#xff1a;处理数据第一题&#xff1a;血肿扩张风险相关因素探索建模a&#xff09;问题b&#xff09;问题 第二题&#xff1a; 血肿周围水肿的发生及进展建模&#xff0c;并探索治疗干预和水肿进展的关联关系a&#xff0…

【yolox训练过程中遇到的问题集合】

这里写目录标题 深度学习遇到的一系列bugVScode无法激活conda1.vscode加载web 视图报错2.CUDA out of memory3.voc2007数据集中的txt文件4.object has no attribute ‘cache‘5.KeyError:model6.No module named loguru7.Python AttributeError: module ‘distutils‘ has no a…

TensorFlow入门(五、指定GPU运算)

一般情况下,下载的TensorFlow版本如果是GPU版本,在运行过程中TensorFlow能自动检测。如果检测到GPU,TensorFlow会默认利用找到的第一个GPU来执行操作。如果机器上有超过一个可用的GPU,除第一个之外的其他GPU默认是不参与计算的。如果想让TensorFlow使用这些GPU执行操作,需要将运…

R语言学习笔记

R语言学习笔记 一.准备环境二.认识控制台三.R包四.数据结构1.向量Vector1.1创建向量1.2访问向量中的数据1.3向量的循环补齐 2.矩阵matrix2.1创建矩阵2.2访问矩阵中的数据 3数组Array3.1创建数组3.2访问数组中的数据 4.数据框Dataframe4.1创建数据框4.2访问数据框中的数据 5因子…

大数据Flink(八十六):DML:Group 聚合和Over 聚合

文章目录 DML:Group 聚合和Over 聚合 一、DML:Group 聚合

【Git】Deepin提示git remote: HTTP Basic: Access denied 错误解决办法

git remote: HTTP Basic: Access denied 错误解决办法 1.提交代码的时候提示2. 原因3.解决方案 1.提交代码的时候提示 git remote: HTTP Basic: Access denied 错误解决办法 2. 原因 本地git配置的用户名、密码与gitlabs上注册的用户名、密码不一致。 3.解决方案 如果账号…

数据结构 - 泛型

目录 前言 1. 什么是泛型? 2. 为什么需要泛型? 引入泛型之前 引入泛型之后 3.泛型类 4.泛型的界限 1.上下界 2.通配符 前言 今天给大家介绍一下泛型的使用 1. 什么是泛型? 一般的类和方法&#xff0c;只能使用具体的类型: 要么是基本类型&#xff0c;要么是自定义…

Java高级应用——异常处理

文章目录 异常处理概念Java异常体系Error 和 Exception编译时异常和运行时异常Java异常处理的方式 异常处理 概念 异常处理是在程序执行过程中遇到错误或异常情况时的一种机制&#xff0c;它允许程序在错误发生时进行适当的处理&#xff0c;而不会导致程序崩溃或产生不可预测…