:nRF51822虽然是一个小型的单片机,但是能真正达到任意调用其官方驱动以及BLE协议栈的人还是奇缺的.据我所见,大都拿官方给的一个冗长的蓝牙低功耗心率计工程改的.之前我对于这个工程进行log跟踪,虽然理清了其大致流程,但还是达不到任意修改甚至是构建自己的框架的程度.本文接上一篇,继续理解library中的调度处理和定时器部分. 1.Schedule handling library 调度程序主要负责从中断上下文向main函数上下文传送执行命令. 在main函数中: 1.为每种期望的事件定义句…
:本篇是我翻译并加入自己理解的nRF51 SDK中按钮相关操作的库和先进先出队列库.虽然是nRF51的SDK,但是通过此文你将更多地了解到在BSP(板级支持)上层嵌入式程序或OS的构建方法. 1.按钮相关操作库 按键管理程序是通过GPIO事务和事件管理程序来检测一个按钮是否被按下的.当然,其中也做了消抖的工作——在GPIOTE事件中启动一个定时器用来延时一段时间,当该定时器失效后如果按钮仍然处于按下状态,则会产生一个按钮事件.如果在延时的过程中又有一个新的GPIOTE,那么这个定时器会重新被启动…
:由于在大多数情况下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…
原文:http://blog.csdn.net/hansel/article/details/39268511 Android SDK中的离线文档虽然都是本地文件,但是有很多Javascript, CSS需要连接Google的服务器,因此造成打开速度很慢. 一种方法是全部去除这些引用,但是600M的离线文件进行修改会有很大工作量.而且,一旦离线文档升级又要重新维护. 另外一种方法是使浏览器打开这些html文档时使用离线模式. 如果是IE浏览器:勾选"File" -- "Wor…
在Salesforce中也存在着Job的概念,当然了我们可以创建Schedule的Job去定时触发对应的Class,来完成我们所需要定时处理的功能,比如:定时同步数据. 具体处理步骤如下所示: 1):创建的Class需要继承Schedulable接口,并且实现对应的execute方法,在execute的方法中可以完成我们自己的代码逻辑 global class SyncStoreController implements Schedulable { //call the web service…
CRM 2013 界面会自动保存了..在系统设置中默认“是”,如果不需要可以调整. CRM实体记录在新建时会有出现“保存”按钮,非新建状态下,没有“保存”按钮只有“新建”按钮,系统将会自动为你保存最后一次修改的结果. 说到保存,SDK中多了新方法,前期版本经常会用save(),新版本可以用Xrm.Page.data.entity.save(),多了些参数选择. Both Xrm.Page.data.save and Xrm.Page.data.entity.save will save the…
http://blog.csdn.net/erick08/article/details/7194575 Microsoft  SDK 中Sample之Amcap 的运行方法      写这篇文章的由衷是我想很多编程爱好者都可能会去尝试运行SDK的Sample,但微软提供的代码并不能直接编译,我开始发现运行报错时,还拙劣地以为是代码有误,竟然改动了少许代码,结果显然还是fail了. 网上查了很多关于编译失败的资料,有讲“无法解析的外部符号”,也有讲到具体代码中的类及头文件.库文件等等,下面讲下我…
  在SDK中打开其他接入应用的解决方案 一直以来,在iOS的开发中,在程序中打开另外一个应用是不允许.后来有正义之士用class-dump在私有API中找到了这样的功能.那就是使用UIApplication的launchApplicationWithIdentifier:suspended:来打开. 使用的办法如下: NSString *identifier = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleIdenti…
在做camera和SurfaceView做摄像头程序时,需要获取camera支持的相片大小,在低版本sdk中没有getSupportedPictureSizes函数,怎么办呢,请参阅下面的关键代码: 1.定义Size类 public class Size { /*** * Sets the dimensions for pictures. * * @param w the photo width (pixels) * @param h the photo height (pixels) */ p…
Ubuntu仿真器是开发过程中非常有用,尤其是在没有任何Ubuntu设备时.在将仿真器附加到SDK后,你便可以在上面运行程序,安装点击数据包,等等,类似在物理设备上的操作一样. 在这里,您可以了解如何从Ubuntu SDK使用Ubuntu仿真器,包括: 创建仿真器 启动仿真器 将仿真器附加到SDK 打开连接到仿真器的根shell 注意:Ubuntu仿真器正在进行快速开发,包括其在SDK中的支持.因此保持敏捷,时刻关注新信息,以及时刻注意最新变化! 提示:为获得一流的Ubuntu仿真器和SDK体验…