蓝牙4.0入门(2)开始程序编写(三)BLE的编写
来源:互联网 发布:centos man 中文 编辑:程序博客网 时间:2024/06/07 17:33
2.3.BLE的编写
蓝牙程序的编写主要是作为从机s110,和主机s120以及主从机s130。都是需要先下载。教程可参见hex下载教程。
主要参考的资料:n36 (里面详细阐述了第一个ble程序,入门必看的)
S110以及s120的程序
Nrf51 sdk
去官网找问题的答案:https://devzone.nordicsemi.com/question
学习方法:如果以前接触过无线通信的单片机应用理解比较容易,没接触过可以先从整体把握,先不要拘泥于一些细节问题。看观察下方框图,从整体了解,慢慢接触。
学习的话,可以先从ble_app_template,这个例程是一个模板。
从机方框图
从机下载前先下s110协议栈,结合程序和方框图分析:从机经过初始化后,就会进入sd_app_evt_wait();但出现event时进入event处理,在ble stack event,即on_ble_evt(ble_evt_t * p_ble_evt)里。一般肯定有处理的中断connected,disconnected,timeout。具体还包含哪些中断可以直接看ble_gap.h。当需要获取rssi时,需要现在connected里开启sd_ble_gap_rssi_start(m_conn_handle);
然后新增event BLE_GAP_EVT_RSSI_CHANGED: 当rssi发送变化时即进入event处理.
主机方框图
主机下载前先下s120协议栈,结合程序和方框图分析:主机经过初始化后,就会进入sd_app_evt_wait(); 至少有三个event入口。一个硬件连接,一个数据连接,一个客户端连接。
对于rssi的获取,s120目前只有在连接前扫描阶段可以获取,其他时间不行。可参见下面的描述。
https://devzone.nordicsemi.com/question/6975/sd120-central-device-rssi-problem/
数据接收:client_handling_ble_evt_handler(ble_evt_t* p_ble_evt)的BLE_GATTC_EVT_HVX:
- 蓝牙4.0入门(2)开始程序编写(三)BLE的编写
- 蓝牙4.0入门(2)开始程序编写(二)一般单片机程序的编写
- 蓝牙4.0入门(2)开始程序编写(一)编写第一个亮灯程序
- Android BLE学习(三):编写自己的 BLE蓝牙读写工具(功能仿照nrf master control panel)
- Android BLE学习(三):编写自己的 BLE蓝牙读写工具(功能仿照nrf master control panel)
- 一步步学汇编(三)开始编写程序
- 蓝牙程序编写例子
- RxJS入门(5)----编写并发程序
- RxJS入门(6)----编写并发程序
- 用Delphi编写CGI程序(三)
- 开始编写python程序
- 蓝牙BLE开发基础教程 android5.0 蓝牙4.0 透传 Android Studio(三)
- Scala基础入门(三)使用Scala IDE编写第一个Scala程序
- Android 蓝牙4.0 Bluetooth BLE 写数据(修改BLE设备的属性)
- Chapter04 编写基本的MapReduce程序(三) 非JAVA语言编写mapreduce程序2
- 蓝牙4.0(BLE)电子烟方案
- 蓝牙4.0(包含BLE)简介
- 蓝牙4.0 BLE 数据传输 (一)
- OutOfMemoryError异常----Java堆溢出
- 欢迎使用CSDN-markdown编辑器
- Spring Mvc线程中对象的使用
- CSS渐变效果
- 代码面试最常用的10种类型算法
- 蓝牙4.0入门(2)开始程序编写(三)BLE的编写
- SlickEdit 使用技巧积累
- 智能厨房重构-Retrofit和RxJava进行网络请求
- 开源ETL工具kettle系列之建立缓慢增长维
- 在Android Studio中读取properties文件
- linux运维之ps、netstat、nmap和pmap
- jstl c:choose><c:when><c:otherwise>标签
- C语言变量长度在32位和64位处理器上的关系
- JavaScript事件代理和委托