[ZigBee] 4、ZigBee基础实验——中断】的更多相关文章

前言 上一篇介绍了CC2530的IO的基础知识,并用LED的控制来展示如何配置并控制GPIO的输出,用KEY状态的读取实验来展示如何读取GPIO的状态.从上一节的KEY状态读取的代码看出是采用轮训方式的,这种方式是很浪费资源,本节将介绍一种中断方式来替换轮训的方案. 一.中断 电路依然没变,若要使用CC2530的外部中断需要使用P0IEN.PICTL.P0IFG.INE1寄存器. 按键中断初始设置为: /**********************************************…
一.实验内容: 配置NRF51822 的RTC0 的TICK 频率为8Hz,COMPARE0 匹配事件触发周期为3 秒,并使能了TICK 和COMPARE0 中断. TICK 中断中驱动指示灯D1 翻转状态, 即指示灯D1 以8Hz 的速率翻转状态 COMPARE0 中断中点亮指示灯D2 二.nRF51822的内部RTC结构: NRF51822 有两个RTC 时钟:RTC0,RTC1.两个RTC 均为24 位,使用LFCLK 低频时钟,并带有12 位分频器,可产生TICK.compare 和溢出…
一.本实验ADC 配置 分辨率:10 位. 输入通道:5,即使用输入通道AIN5 检测电位器的电压. ADC 基准电压:1.2V. 二.NRF51822 ADC 管脚分布 NRF51822 的ADC 共有8 个输入通道,对应的管脚分布入下图: 三.NRF51822 ADC 原理 NRF51822 的ADC 比较简单,如下图所示. 3.1.ADC 通道及预分压系数 NRF51822 的ADC 共有8 个输入通道,在使用ADC 时,要设定ADC 的输入通道.本实验中,因为连接电位器的管脚是P0.04…
目录 1. 前期预备知识 1.1 定时器中断触发 1.2 相关寄存器 1.3 寄存器相关问题 1.4 T1.T3定时器初始化流程 2 程序及代码 THE END 1. 前期预备知识 1.1 定时器中断触发 本次实验需关注的中断寄存器. 在本次实验中,分别会使用T1和T3定时器完成功能,所以我们需要注意上图中标注出的中断寄存器. T1定时器:16位定时器(0~65535).T3定时器:8位定时器(0~255) 1.2 相关寄存器 注:一下只给出实验中新出现的寄存器,并不是本次实验需用到的所有寄存器…
一.PWM概述: PWM(Pulse Width Modulation):脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形. PWM 的几个基本概念: 1) 占空比:占空比是指在一个周期内,信号处于高电平的时间占整个信号周期的百分比,方波的占空比是50%. 2) 调制频率:周期的倒数. 3) 脉冲宽度:信号处于高电平的时间. 二.nRF51822的PWM产生: NRF51822 通过Timer.PPI 和GPIOTE 的配合实现PWM 的功能,由Timer 产生一个事件,…
 一.实验内容: 通过串口发送单个字符到NRF51822,NRF51822 接收到字符后将其写入到FLASH 的最后一页,之后将其读出并通过串口打印出数据. 二.nRF51822芯片内部flash知识: EN-nRF51D 开发板使用NRF51822 芯片为nRF51822-QFAA,如下图所示,共有256KBFLASH,256 页,页大小为1024 字节. NRF51822 内部FLASH 写流程如下: 三.代码解析: main: int main(void) { ... 串口初始化 prin…
前一篇分析了前十个基础实验的代码,从这里开始分析后十个~ 一.PPI原理: PPI(Programmable Peripheral Interconnect),中文翻译为可编程外设互连. 在nRF51822 内部设置了PPI 方式,可以通过任务和事件让不同外设之间进行互连,而不需要CPU 进行参与. PPI 通过通道让任务和事件连接在一起.PPI 通道由两个端点组成: 任务端点:Task End-Point (TEP). 事件端点:Event End-Point (EEP). 所谓的互联就是将任…
逆向及Bof基础实验 实践目标 ·本次实践的对象是一个名为pwn1的linux可执行文件. ·该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. ·该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段. ·本次试验将学习两种方法 ①利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数. ②手工修改可执行文件,改变程序执行流程,…
20155209林虹宇逆向及Bof基础实验报告 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段.我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何Shellcode. 三个实践内容如下: 手工修改可执行文件,改变程序执行流程,直接…
2017-2018-2 20155231<网络对抗技术>实验八:Web基础 实验要求: Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. Web前端javascipt(0.5分) 理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表(0.5分) Web后端:编写PHP网页,连…
20145332 WEB安全基础实验 实验过程 ·SQL字符串注入 ·Database Backdoors step1 ·Database Backdoors step2 ·Phishing with XSS 在文本框中写钓鱼网站代码: ··· This feature requires account login: Enter Username: Enter Password: ··· ·Reflected XSS Attacks 在ACCESS CODE 框里填入获取COOKIE的javas…
一)基础实验: 1. 新建文件a.txt,并用权限模式.权限值两种方式修改权限为rwxrwx--x     新建文件:touch a.txt    权限模式:chmod ug=rwx o=x a.txt    权限值:chmod 771 a.txt2. 在用户的家目录中创建多级目录a/b/c/d/e     mkdir -p a/b/c/d/e3. 创建四个目录a.b.c.d,1)将a.b拷贝到c  2)将a.b剪切到d 3)删除c.d    创建目录:mkdir a b c d    1)cp…
20155215宣言 实验四 Andoid开发基础实验报告 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 2.完成实验.撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如"查网络"."问同学"."看书"等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等):…
一)基础实验:1. Unix中常见shell及其命令(shell的缩写)    Bourne shell (sh)      Korn shell (ksh)    C shell (csh)    Bournw-again shell (bash)2. 普通用户与超级用户如何进行相互切换     普通用户—>超级用户:sudo su    退出超级用户:exit    用户间切换:su username3. 远程登录及退出服务器的命令    远程登陆:telnet ip地址    退出服务器:…
/********************************************************************************* * Company : * Engineer : 空气微凉 * * Create Date : 00:00:00 22/03/2013 * Design Name : * Module Name : * Project Name : * Target Devices : * Tool versions : * Description…
/********************************************************************************* * Company : * Engineer : 空气微凉 * * Create Date : 00:00:00 22/03/2013 * Design Name : * Module Name : * Project Name : * Target Devices : * Tool versions : * Description…
/********************************************************************************* * Company : * Engineer : 空气微凉 * * Create Date : 00:00:00 22/03/2013 * Design Name : * Module Name : * Project Name : * Target Devices : * Tool versions : * Description…
来源:CSDN  作者:王文松  转自Linux公社 ------------------------------------------------------------------------------------------------ 守护进程概述 守护进程,又叫daemon进程(不知怎的,我突然想起来吸血鬼日记中的达蒙了,很好看的美剧),是Linux中的后台服务进程. 他是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或者等待处理某些发生的事件.守护进程常常在系统…
来源:CSDN  作者:王文松   转自Linux公社 exit()和_exit()函数 函数说明 创建进程使用fork()函数,执行进程使用exec函数族,终止进程则使用exit()和_exit()函数.当进程执行到exit()或 _exit()函数时,进程会无条件的停止剩下的所有操作,清除各种数据结构,并终止本进程的运行.但是,这两个函数还是有区别的,其调用过程如图1所 示: 从图1可以看出,_exit()函数的作用是:直接使进程停止运行,清除其使用的内存空间,并清除其在内核中的各种数据结构…
来源:CSDN  作者:王文松  转自:Linux公社 exec函数族 函数族说明 fork() 函数用于创建一个新的子进程,该子进程几乎复制了父进程的全部内容,但是,这个新创建的子进程如何执行呢?exec 函数族就提供了一个在进程中启动另一个程序执行的方法.它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段.代码段和堆栈 段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新的进程替换了.另外,这里的可执行文件既可以是二进制文件,也可以是Linux下任何可执 行…
来源:CSDN  作者:王文松 转自Linux公社 fork()函数 在 Linux 中创建一个新进程的唯一方法是使用fork()函数.fork()函数是 Linux 系统中一个非常重要的函数,和咱们以前遇到过的函数由一些区别,因为它看起来执行一次却返回两个值,这又作何解释?不着急,慢慢看. 函数说明 fork()函数用于从已存在的一个进程中创建一个新的进程,新进程称为子进程,而原进程称为父进程.使用fork()函数得到的子进程是父进程的 一个复制品,它从父进程处继承了整个进程的地址空间,包括进…
OpenEuler树莓派基础实验 1.任务详情 1. 参考https://www.cnblogs.com/rocedu/p/14615565.html 完成OpenEuler的安装,提交过程博客和截图 2. 参考https://www.cnblogs.com/rocedu/p/14617763.html完成OpenSSL的安装,并测试,提交代码截图 3. 参考附件,至少完成第三章的实验,提交过程博客链接 ​ 2.树莓派Openeuler安装 在安装开始前,需要获取Openeuler发布的树莓派镜…
实验目的 掌握接口IPv4地址的配置方法 理解LoopBack接口的作用与含义 理解直连路由的产生原则 掌握静态路由的配置方法并理解其生效的条件 掌握通过PING工具测试网络层联通性 掌握并理解特殊静态路由的配置方法与应用场景 实验组网介绍 IPv4编址及IPv4路由基础实验拓扑 实验背景 R1.R2.R3都是各自网络的网关设备,现在需要通过相应的配置,来实现这些网络之间的互联互通. 实现需求: 1.设备重命名 分部命名为HCIA-DATACOM R1,R2,R3 2.配置物理接口I…
上一节讲了16位定时器1,本节讲8位定时器3和定时器4! 1.综述 Timer 3 and Timer 4 are two 8-bit timers(8位定时器). Each timer has two independent capture/compare channels(独立的捕获/比较通道),each using one I/O pin per channel. Features: · Two capture/compare channels· Set, clear or toggle…
1.定时器1概述 定时器1 是一个支持典型的定时/计数功能的独立16 位定时器,支持输入捕获,输出比较和PWM等功能.定时器有五个独立的捕获/比较通道.每个通道定时器要使用一个I/O 引脚.定时器用于范围广泛的控制和测量应用,可用的五个通道的正计数/倒计数模式将允许诸如电机控制应用的实现. 定时器1 的功能如下: • 五个捕获/比较通道• 上升沿.下降沿或任何边沿的输入捕获• 设置.清除或切换输出比较• 自由运行.模或正计数/倒计数操作• 可被1,8,32 或128 整除的时钟分频器• 在每个捕…
1.CC2530的IO口概述 CC2530芯片有21 个数字输入/输出引脚,可以配置为通用数字I/O 或外设I/O 信号,配置为连接到ADC.定时器或USART外设.这些I/O 口的用途可以通过一系列寄存器配置,由用户软件加以实现. I/O 端口具备如下重要特性:    …
zigbee Zigbee是基于IEEE802.15.4标准的低功耗个域网协议.根据这个协议规定的技术是一种短距离.低功耗的无线通信技术.这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和"嗡嗡"(zig)地抖动翅膀的"舞蹈"来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络.其特点是近距离.低复杂度.自组织.低功耗.低数据速率.低成本.主要适合用于自动控制和远程控制领域,可以嵌入各种设备.简而言之,ZigBee就是一种便宜的,低功…
--------------------------下面转自知乎 首先要区分协议跟协议栈.◇协议是一种规定.是一系列的通信标准,通信双方按照这一标准进行数据收发.◇协议栈是一系列代码,是协议的具体实现形式,通俗的理解就是用代码实现的函数库,以便开发人员调用.而z_stack就是zigbee的协议栈,所以要用zigbee建网就要用到该协议栈,调用其中的函数.◇zigbee网络设备主要由协调器,路由器,终端节点组成.协调器的作用就是组建网络及维护网络,它上电后可以自己寻找信道及网络地址,建网成功后和…
目录 1.前期预备知识 1.1 新大陆Zigbee模块按键电路图 1.2 CC2530相关寄存器 1.3 CC2530中断走向图 1.4 使用C语言为51单片机编写中断程序 1.5 *函数指针 2. 程序代码 THE END 1.前期预备知识 1.1 新大陆Zigbee模块按键电路图 由上图可知,Zigbee模块的SW1按钮连接在P1.2端口上,当SW1导通,P1.2电平从3.3V被拉低接地.所以P1.2输入模式为下拉输入. 1.2 CC2530相关寄存器 寄存器名称 寄存器作用 寄存器描述 P…
目录 1.前期预备知识 1.1 新大陆ZigBee模块LED灯电路 1.2 CC2530相关寄存器 1.3 寄存器操作技巧 1.4 CPU空转延时 1.4 操作流程图 2.程序代码 The End 1.前期预备知识 1.1 新大陆ZigBee模块LED灯电路 从上两的两个电路可知 1.LED1连接在LED-LINK上,而LED-LINK是从CC2530芯片的P1.0端口引出,同样LED2连接在LED-COMM上,而LED-COMM从CC2530芯片P1.1端口引出. 2.两个LED灯正极接的是C…