nordic 51822 sdk. timer 的使用】的更多相关文章

它的源代码和头文件分别为app_timer.c/app_timer.h.这是Nordic为我们提供的虚拟定时器,这个定时器不同于硬件上的TIMER,而是基于RTC1实现的一种虚拟定时器,其将定时功能作为了一个资源进行管理,所以会有初始化.创建等过程.    nrf51822的SDK采用封装思想,需要暴露给用户的信息都在相关模块的头文件中:为了提醒用户不去看具体实现细节,我们可以发现相关的API,比如app_timer_create()的源码部分都是没有接口描述信息的,相关使用方法需要看app_t…
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等新…
该讲介绍51822的Timer/Counter模块工作在timer模式下(定时器模式,还可以工作为计数器模式) 如何操作 51822的Timer/Counter结构如下图所示 Timer模块从PCLK16M/PCLK1M 处获得时钟源,然后经分频后得到的时钟作为timer模块的时钟 ( 上图Ftimer).当timer模块选择为timer模式时,Counter会在Ftimer的每个tick 计数一次当计数值与cc[n](n为0,1,2,3)寄存器中的值相等时就会触发对应的Compare[n]事件…
官方文档教程编译源码: http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk%2Fdita%2Fsdk%2Fmesh_sdk.html&cp=4_1 Building the mesh stack The mesh library and example applications can be built using either CMake or SEGGER Embedded Studio.…
一: 官网介绍地址:http://www.nordicsemi.com/Products/Bluetooth-low-energy/nRF5-SDK-for-Mesh Nordic offers a complete solution for the Bluetooth mesh specification with the nRF5 SDK for Mesh and the nRF51 and nRF52 Series SoCs. It provides a powerful solution…
本文将介绍Nordic nRF5 SDK软件架构以及softdevice工作原理,以加深大家对Nordic产品开发的理解,这样开发过程中碰到问题时,大家也知道如何去调试. 如果你刚开始接触nRF5 SDK,建议先看一下这篇文章“Nordic nRF5 SDK和softdevice介绍”,以建立Nordic nRF5 SDK的一些基本知识. 首先说明一下,Nordic nRF5系列产品都是使用Flash存储器的,确切说,是嵌入式可执行代码的Flash存储器,也就是说,代码是可以直接在上面运行的,这…
本文将讲述Nordic nRF5 SDK的主要调试手段,以帮助大家快速定位问题,并解决问题.一般来说,你可以通过打log方式,IDE的debug模式,SDK自带的app_error_check函数,以及命令行方式等多种手段来调试你的代码. 1. 通过打log方式进行调试 nRF5 SDK支持UART和SWD J-Link(RTT)两种底层通信方式来打印日志,SDK14之后日志也可以通过蓝牙或者Flash进行输出和存储打印,一般来说,UART和SWD用得比较多,其中UART使用串口助手来查看日志,…
一 . nordic BLE4.0 1.开发nordic的应用需要安装支持keil的pack库和插件 2.nordic的SDK很完整,实例涵盖了几乎所有的应用 https://www.nordicsemi.com/ 3.调试实例之前需要先用nRFgo Studio将BLE协议栈(G:\nFR52\nRF52_SDK_0.9.2_dbc28c9\components\softdevice)写入芯片, nordic的蓝牙应用都是基于他自家协议栈的. 4.蓝牙透传实例: 5.演示实例,应用手册之类文档…
使用IAR在开发nordic的sdk的时候,官方有一段话*****Note for IAR 8 users:(Libraries for IAR 8 require wchar_t to be of size 32 bits while IAR 7 requires 16 bits). To run a project using IAR 8, follow these intructions: - Open the IAR project in IAR 8. The IAR workbench…
NRF52832 SDK15.3.0 概述: 所谓DFU(Device Firmware Update),就是设备固件升级的意思,而OTA是DFU的一种类型,准确说,OTA的全称应该是OTA DFU,只不过大家为了方便起见,直接用OTA来指代固件空中升级(有时候大家也将OTA称为FOTA).DFU除了可以通过无线方式(OTA)进行升级,也可以通过有线方式进行升级,比如通过UART,USB或者SPI通信接口来升级设备固件. 不管采用OTA方式还是有线通信方式,DFU包括后台式(background…
摘要:在前面的nrf52--DFU升级OTA升级方式详解(基于SDK开发例程)一文中我测试了基于蓝牙的OTA,本文将开始基于UART和USB(USB_CDC_)进行升级测试. 整体升级流程: 整个过程希望你和我一样采用有log的bootloader进行.可以看到执行流程,也能在出错时进行检查. 1.生成秘钥(一定要保留好) 2.生成USB或者UART的BootLoader程序(需要算法库和秘钥) 3.生成APP工程 4.合成初始的固件.并下载到相应的硬件 5.生成需要更新的APP固件 6.合成升…
在我们开始前,默认你已经安装好了一些基础工具,如nrfutil,如果你没有安装过请根据官方中文博客去安装好这些基础工具,连接如下:Nordic nRF5 SDK开发环境搭建(nRF51/nRF52芯片平台) - iini - 博客园 (cnblogs.com) 本文只是对整个升级过程进行一次完整操作,以及其中可能出错的地方进行记录,如果你想知道具体原理,那么请你看官方中文博客的两篇文章,如果仅仅只是基于SDK,那么你参考第一篇即可,如果你需要在NCS上进行请参考第二篇,相信你在看了该博客后会对D…
首先看看一下相关的寄存器说明 Out寄存器 输出设置寄存器 每个比特按顺序对应每个引脚,bit0对应的就是 引脚0 该寄存器用来设置 引脚作为输出的时候的 输出电平为高还是低. 与输出设置相关的 还有另外两个寄存器 OUTSET和OUTCLR OUTSET用来设置某个引脚的输出为高电平 OUTCLR用来设置某个引脚的输出为低电平 这两个寄存器同OUT寄存器一样 每个位按顺序对应每个引脚.但有个特别的地方在于OUTSET和OUTCLR两个寄存器的每个bit都是写1有效,写0无效. 比如在引脚都被设…
本文将和大家一起编写我们的第一个BLE应用程序:Blinky(闪灯程序),哪怕你之前没有任何BLE开发经验,也不用担心,只要跟着文中所述步骤,你就可以一步步搭建自己的第一个BLE应用程序.通过这个Blinky程序的搭建,你将体会到BLE的一些基本概念,对BLE将会有一个非常直观的认识,为后续自己的BLE应用程序开发打下一个坚实的基础. 1. 开发准备 1)     nRF52或者nRF51开发板1块.请参考"Nordic nRF51/nRF52开发流程说明",购买相应开发板(DK).…
如何实现BLE OTA?什么叫DFU?如何通过UART实现固件升级?又如何通过USB实现固件升级?怎么保证升级的安全性?什么叫双备份(dual bank)DFU?什么叫单备份(single bank)DFU?什么叫后台式(background)DFU?本文将对上述问题进行探讨. 1.概述 所谓DFU(Device Firmware Update),就是设备固件升级的意思,而OTA是DFU的一种类型,准确说,OTA的全称应该是OTA DFU,只不过大家为了方便起见,直接用OTA来指代固件空中升级(…
Nordic 52840 SDK学习之定时器 今天开始学习52840SDK,特在此处记录学习内容,防止以后忘记,或许可以给以后的初学者提供一些帮助.如有错误,请发邮件至843036544@qq.com,我看到会及时改正. 当前只是初学该sdk,内容可能比较简单,不喜勿喷. 简介:定时器部分,主要是写了一些测试代码(在源sdk中添加了一些测试接口),用来学习定时器的使用. 步骤: 1)包含头文件app_timer.h 2)定义Timer id和interval 其中id用来区分不同功能的定时器,i…
1.Install gcc-arm-none-eabi https://devzone.nordicsemi.com/tutorials/7/This link shows that development with GCC and Eclipse, As it say we should download .extract and configure arm-none-eabi-gcc. But I find it's hard to download arm-none-eabi-gcc in…
一 . nordic BLE4.0 1.开发nordic的应用需要安装支持keil的pack库和插件 2.nordic的SDK很完整,实例涵盖了几乎所有的应用 https://www.nordicsemi.com/ 3.调试实例之前需要先用nRFgo Studio将BLE协议栈(G:\nFR52\nRF52_SDK_0.9.2_dbc28c9\components\softdevice)写入芯片, nordic的蓝牙应用都是基于他自家协议栈的. 4.蓝牙透传实例: 5.演示实例,应用手册之类文档…
版权声明:本文为博主原创文章,转载请注明作者和出处.    作者:强光手电[艾克姆科技-无线事业部] 在使用EN-Dongle捕获和解析广播包之前,我们先了解一下BLE报文的结构,之后,再对捕获的广播包进行分析.在学习BLE的时候,下面两个文档是极其重要的,这是SIG发布的蓝牙的核心协议和核心协议增补. 核心协议Core_v4.2. 核心协议增补CSS v6. 虽然这两个文档是蓝牙技术的根本,但是遗憾的是:通过这两个文档学习蓝牙并不是那么容易的,阅读和理解起来很费力.尤其是初学者在阅读这两个文档…
在使用EN-Dongle捕获和解析广播包之前,我们先了解一下BLE报文的结构,之后,再对捕获的广播包进行分析.在学习BLE的时候,下面两个文档是极其重要的,这是SIG发布的蓝牙的核心协议和核心协议增补. 核心协议Core_v4.2. 核心协议增补CSS v6. 虽然这两个文档是蓝牙技术的根本,但是遗憾的是:通过这两个文档学习蓝牙并不是那么容易的,阅读和理解起来很费力.尤其是初学者在阅读这两个文档的时候,感觉无从下口.所以,本文在分析报文的过程中,会明确指出协议文档在什么地方定义了他们,让我们有目…
这几天一直在折腾nRF52832的硬件I2C,到了今天最终出现了成果,在此也印证了那句话:"耕耘就有收获" 52832的硬件I2C尽管官方提供了demo,可是自己对I2C通信理解的不够深入,再一个52832的代码也封装的太深了.可是对接口函数没有一个明白的解释(也能够说是我英文太渣,别人写了可是我没看懂. . .),这样对于首次接触nRF产品的人就造成了一定的难度 依据我的开发过程,还是先说明一下I2C的一些相关知识,由于我是先调硬件I2C搞了半天不正确头,然后再开发模拟I2C,模拟的…
Nordic有2套并存的SDK:老的nRF5 SDK和新的NCS SDK,两套SDK相互独立,大家选择其中一套进行开发即可.一般而言,如果你选择的芯片是nRF51或者nRF52系列,那么推荐使用nRF5 SDK.如果你选择的是Nordic最新产品系列,比如nRF53或者nRF9160,那么请选择NCS SDK.还有一种特殊情况,虽然你选择的是nRF52芯片,但需要使用最新的一些射频技术,比如蓝牙测向,蓝牙Mesh v1.1,低功耗蓝牙音频,那么也需要使用NCS SDK,换句话说,最新的射频技术,…
在学习 BLUENRG-LP 的过程中,及时地把碰到的问题记录下来,并作解答,形成本文档. 该文档会时时更新,并且当某些章节内容过多时,会独立出来,形成新的文章. BLUENRG-LP 的特性 芯片内部有哪些存储介质,各的功能是什么? FLASH 存放固件和用户数据.支持读.写保护 OTP (1KB) 存放用户数据,支持读.写保护 ROM (7KB) 不对用户开放.存放 UART BOOTLOADER 固件和一些芯片的配置信息,如ADC校准值 BLE 5.0 的新特性及其作用: 2Mbps:更高…
Nordic SDK例程目录结构为:SDK版本/ examples /协议角色/例子名称/开发板型号/协议栈型号/工具链类型/具体工程 Nordic每一个例子都支持5种工具链:Keil5/Keil4/IAR/GCC/SES,如下所示: 参考资料: https://www.cnblogs.com/iini/p/9095622.html PS:iini这个博主写的几篇与蓝牙相关的文章都不错,但是不知道为什么最近都没更新.…
:nRF51822虽然是一个小型的单片机,但是能真正达到任意调用其官方驱动以及BLE协议栈的人还是奇缺的.据我所见,大都拿官方给的一个冗长的蓝牙低功耗心率计工程改的.之前我对于这个工程进行log跟踪,虽然理清了其大致流程,但还是达不到任意修改甚至是构建自己的框架的程度.本文接上一篇,继续理解library中的调度处理和定时器部分. 1.Schedule handling library 调度程序主要负责从中断上下文向main函数上下文传送执行命令. 在main函数中: 1.为每种期望的事件定义句…
作为两家BLE芯片大厂之一,nordic不像TI那么开放,nordic的开发资料是很难找的. 今天有幸得到nordic的BLE芯片nRF51822的SDK,看了一下.   首先,nordic号称协议栈(称为SoftDevice)和应用完全分开,是怎么实现的呢? TI的协议栈以库的形式提供,用户应用在链接时和库链在一起形成最终的机器代码,TI提供库和头文件供用户使用. nordic用了不同的方式:SoftDevice,这样协议栈和用户应用可以单独编译和链接.实现BLE的SoftDevice似乎叫S…
1.使用svg实现组态画面和动态数据展示 通过js的定时器调用webservice方法获取数据后更新节点数据 /// <summary>启动定时刷新</summary> function Start() { InitSvgElement(); this.timer = setInterval("GetTagValues()", 1000); } /// <summary>启动定时刷新</summary> function Stop() {…
:由于在大多数情况下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…
SharePoint 2010 has established a new service called "Word Automation Services" to operate word files. This service will be installed when install SharePoint 2010. It is useful for archive documents or convert word format in server. But we need…
Jianqiang's Mobile Dev Blog iOS.Android.WP CnBlogs Home New Post Contact Admin Rss Posts - 528 Articles - 15 Comments - 3675 WPF SDK研究 之 AppModel   这一章讲的应用程序级别的开发技术,尤其是在本章末尾,重点介绍了PageFunction<T>结构化导航,以及CustomContentState定制导航. 本章共计27个示例,全都在VS2008下.NE…