NRF51822之GPIOTE使用】的更多相关文章

---恢复内容开始--- 在上篇介绍nrf51822的GPIOTE http://www.cnblogs.com/libra13179/p/5336580.html 我们现在开始下水游泳. /** @file * @brief Example GPIOTE project. * @defgroup nrf_app_gpiote_example Example Template * */ #include <stdbool.h> #include "SEGGER_RTT.h"…
Note This library is obsolete and should not be used in new designs. Instead, you should use GPIOTE driver. The general purpose Input/Output is organized in the nRF51 Series chips as one port with up to 32 I/Os (dependent on package) enabling access…
版权声明:本文为博主原创文章,转载请注明作者和出处.    作者:强光手电[艾克姆科技-无线事业部] 1. nRF51822寄存器类型 nRF51822的寄存器和一般的单片机有所差别,nRF51822的寄存器分为下面的三种类型. Task :任务寄存器,可以由程序或事件触发. Event:事件寄存器,事件可以产生中断或触发任务. Register:普通寄存器,和一般单片机的寄存器一样. Task和event使得操作片上外设十分方便简洁,只需进行少量的配置,即可轻松运用各种外设.同时,Task和e…
:由于在大多数情况下GPIO的状态变化都会触发应用程序执行一些动作.为了方便nRF51官方把该流程封装成了GPIOTE,全称:The GPIO Tasks and Events (GPIOTE) . 从GPIO电平变化到产生中断事件的流程详解  1.GPIOTE概览 nRF51上面有32个GPIO,由于在大多数情况下GPIO的状态变化都会触发应用程序执行一些动作.为了方便nRF51官方把该流程封装成了GPIOTE,全称:The GPIO Tasks and Events (GPIOTE) .GP…
GPIO通常都会具有中断功能,上一讲的GPIO中并没有涉及到中断的相关寄存器. 51822将GPIO的中断相关做成了一个单独的模块GPIOTE,这个模块不仅提供了GPIO的中断功能,同时提供了 通过task和event的方式来访问GPIO的功能.其实中断功能也是通过 event来使能的,即中断是通过设置寄存器中相关位来决定  当event发生时是否发生中断 来设置中断功能的,具体下面介绍寄存器就明白了. (task和event的引入主要是为了和51822中的PPI(可编程外围设备互联系统)模块的…
蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体温计.耳温枪.皮肤水分计等), 再到智能家居等领域均占有一席之地. 而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议. 随着上一股智能消费类电子大潮的到来,BLE的各种应用也像雨后春笋般在市场上铺开. 如果想 紧跟蓝牙协议的最新动态 ,可以在https://www.b…
一.PWM概述: PWM(Pulse Width Modulation):脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形. PWM 的几个基本概念: 1) 占空比:占空比是指在一个周期内,信号处于高电平的时间占整个信号周期的百分比,方波的占空比是50%. 2) 调制频率:周期的倒数. 3) 脉冲宽度:信号处于高电平的时间. 二.nRF51822的PWM产生: NRF51822 通过Timer.PPI 和GPIOTE 的配合实现PWM 的功能,由Timer 产生一个事件,…
星期日, 09. 九月 2018 07:51下午 - beautifulzzzz 1.安装步骤 1) 从GNU Arm Embedded Toolchain官网下载最新的gcc-arm工具链,写文章时下载的是: gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2 2) 从NORDIC官网下载相应版本的SDK,我这里选择的是12.3.0版本: Code Name Version nRF5-SDK-v12-zip nRF5 SDK Zip File…
忙了一阵这个PWM,玩着玩着终于发现了些规律.Nordic 也挺会坑爹的. nRF51822 是没有硬件 PWM 的,只能靠一系列难以理解的 PPI /GPIOTE/TIMER来实现,其实我想说,我醉了. 幸好SDK有这个的demo,不然真的很醉.这里说的是SDK9.0.0. 即便是有SDK,相信很多人都像我一样,看下去会觉得晕头转向的,不过知道几个函数的应用就可以了. 先记下怎么开始用一个PWM.这里我要用2路极性相反的PWM. 先来初始化两个个PWM实例,名字是PWM1.PWM2,用硬件Ti…
前言:  nRF51可以支持基于2.4G的互相通信.与NRF24LE1的通信.与NRF24LU1的通信.与NRF24L01的通信. 一.nRF51822基于2.4G和nRF51822通信 其中nRF51互相通信和之前用51操作nRF24L01很像,涉及到的只有几个核心的函数: nrf_esb_init---初始化ESB nrf_esb_enable---使能ESB nrf_esb_add_packet_to_tx_fifo---将数据送入发送队列 如果想知道发送是否成功等状态可以用: void…