如何理解nRF5芯片外设PPI】的更多相关文章

PPI,英文全称Programmable Peripheral Interconnect,是Nordic独有的外设,其设计目的是让CPU处于idle模式下外设与外设之间也能完成相应通信,从而降低系统功耗.为此,很多人会把PPI类比成DMA,的确PPI和DMA两者在设计最终目的上有一定的相似性,但两者的功能和原理完全不相同.讲解PPI原理之前,先大概阐述一下Nordic芯片一个独特的设计理念. Nordic芯片每个外设都可以看做一个状态机,所以每个外设都有输入(task),输出(event)以及状…
nRF51/nRF52同时包含GPIO和GPIOTE两种外设,经常有人将两者搞混,今天我们就来介绍一下这2种外设有什么不同,及使用注意事项. GPIO和GPIOTE都属于芯片外设,但两者功能完全不一样,使用过程中不要将两者混淆.GPIO就大家通常理解的普通IO口,用来对IO口进行读写等操作.因此,如果你需要读某个IO口状态,或者将某个IO口置1,那么请使用nrf_gpio.h里面的API,比如 nrf_gpio_cfg_input用来将IO设为输入模式 nrf_gpio_pin_set用来输出1…
SDK和Softdevice的区别是什么?怎么选择SDK和softdevice版本?芯片,SDK和softdevice有没有版本兼容问题?怎么理解SDK目录结构?SDK帮助文档在哪里?Softdevice帮助文档在哪里?如何选择某个SDK例子 (example) 以开始我们的BLE开发之旅?本文将对以上问题进行解答. Nordic目前有2套完全独立的SDK:nRF5 SDK和nRF Connect SDK.一般来说,开发nRF51/52产品推荐使用nRF5 SDK,开发nRF91/nRF53等新…
本文将讲述Nordic nRF5 SDK的主要调试手段,以帮助大家快速定位问题,并解决问题.一般来说,你可以通过打log方式,IDE的debug模式,SDK自带的app_error_check函数,以及命令行方式等多种手段来调试你的代码. 1. 通过打log方式进行调试 nRF5 SDK支持UART和SWD J-Link(RTT)两种底层通信方式来打印日志,SDK14之后日志也可以通过蓝牙或者Flash进行输出和存储打印,一般来说,UART和SWD用得比较多,其中UART使用串口助手来查看日志,…
文章包含STM32固件库介绍和工程模板搭建两方面内容. 一.STM32固件库介绍 要建立工程模板,首先要对STM32的固件库有所了解.STM32的固件可以从ST官网下载,网址为:http://www.stmicroelectronics.com.cn/web/cn/catalog/tools/FM147/CL1794/SC961/SS1743,下载后的文件夹组织结构如图1所示. 图1 STM32固件库文件夹 为了更清楚的了解这个文件夹,我们把Libraries文件夹展开来看,如图2的所示.其中C…
大家好,我是豹哥,猎豹的豹,犀利哥的哥.今天豹哥给大家讲的是嵌入式开发里的source文件种类. 众所周知,嵌入式开发属于偏底层的开发,主要编程语言是C和汇编.所以本文要讲的source文件主要指的就是c文件和汇编文件. 尽管在平常开发中,我们都只会关注自己创建的.c/.h/.s源文件,但实际上我们不知不觉中也跟很多不是我们创建的源文件在打交道,那么问题来了,一个完整的嵌入式工程(以基于ARM Cortex-M控制器的工程为例)到底会包含哪些source文件呢? 现在就到了豹哥的show tim…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的source文件. 众所周知,嵌入式开发属于偏底层的开发,主要编程语言是C和汇编.所以本文要讲的source文件主要指的就是c文件和汇编文件. 尽管在平常开发中,我们都只会关注自己创建的.c/.h/.s源文件,但实际上我们不知不觉中也跟很多不是我们创建的源文件在打交道,那么问题来了,一个完整的嵌入式工程(以基于ARM Cortex-M控制器的工程为例)到底会包含哪些source文件呢? 现在就到了痞子衡的show tim…
如何开发BLE数据透传应用程序?什么是BLE service和characteristic?如何开发自己的service和characteristic?如何区分ATT和GATT?有没有什么工具可以对BLE设备进行压力测试?如何提高BLE设备的数据上传速度?本文将对以上问题进行解答. 在很多应用场合,BLE只是作为一个数据透传模块,即将设备端数据上传给手机,同时接收手机端下发的数据.本文将和大家一起,一步一步演示如何开发一个BLE透传应用程序.按照本文的说明,大家可以很快就实现一个BLE透传应用,…
分析的内核版本号截止到2014-04-15,基于1.05正式版,blogs会及时跟进最新版本号的内核开发进度,若源代码凝视出现"???"字样,则是未深究理解部分. Raw-OS官方站点:http://www.raw-os.org/ Raw-OS托管地址:https://github.com/jorya/raw-os/ 1.同优先级任务轮转 比如,系统中创建有两个同样优先级任务Task A和Task B,而且已经增加到就绪队列. 当Task A时间片用完时,由于同优先级,会被系统调度至就…
一.蓝牙基础知识 1.蓝牙( Bluetooth )是一种无线技术标准,可实现固定设备.移动设备和楼宇个人域网之间的短距离数据交换.蓝牙基于设备低成本的收发器芯片,传输距离近.低功耗. 2.微波频段:使用2.402GGHz到2.480GHz(包含防护频带)的ISM波段的UHF无线电波 3.蓝牙使用跳频技术.将传输的数据切割成数据包,通过79个指定的蓝牙频道分别数据传输包. 每一个频道的频宽为1MHz. 4.蓝牙是基于数据包.有着主从架构的协议. 一个主设备至多可和同一微微网中的七个从设备通讯.全…