dialog DA14580 SDK版本:5.0.4。

本文介绍了DA14580 SDK的学习感想和建议,分享给大家。

首先,Dialog官网上的资料挺全的,但是是英文的,如果英文不好,比如笔者,阅读起来是件痛苦的事情。资料都挺好的,唯一的不足是,没有系统的讲解如何快速的熟悉SDK跟BLE协议。我想来分享一些这方面的感想。

  DA14580的SDK应该由2部分组成:RivieraWaves(RW)操作系统、BLE协议栈。

  学习的顺序最好是先学下RivieraWaves(RW)操作系统,官网上对应的资料是  RW-BT-KERNEL-SW-FS,网上还有翻译成中文的,目前关于RW操作系统的介绍,仅发现这一份资料。不过对于了解这个操作系统,应该可以满足。但是要用这个操作系统进行软件开发,比如编写个应用层的任务等,我觉得稍微有点欠缺。毕竟这份文档仅仅是介绍,并没有详细的说明怎么新建任务,怎么把处理函数跟任务ID关联等步骤。

  不过在网上还有份资料,讲解了如何添加外设任务到SDK里。准确的说是用RW系统添加外设任务。添加步骤总结如下:

  1、把外设初始化代码添加到periph_setup.c。

  2、在task_app任务枚举结构体中添加自定义的消息ID;

  3、定义消息ID对应的处理函数;

  4、关联消息ID跟处理函数;

  5、在定时器,或其他触发函数中,通过task_app任务给内核发送消息ID;

至此,对RW操作系统有个大概的认识,而且了解了如何进行消息处理的。

  接下来就是学习BLE协议栈了。《低功耗蓝牙开发权威指南》这本书必不可少,写得还不错。这里,笔者就没什么好的建议了。

dialog BLE SDK 学习(3)的更多相关文章

  1. dialog BLE SDK 学习(1)

    dialog DA14580 SDK版本:5.0.4. 本文介绍了SDK的运行流程,剖析arch_main.c的工作过程. dialog的BLE协议栈,本来是想学习一下,看看是否能够移植到其他平台上, ...

  2. Dialog BLE 学习之 修改分散加载文件 (2)

    最近搞Dialog的BLE SDK,发现空间不够了,询问原厂,得知可以通过调整分散加载文件而增加空间,一方面是有42KB+8KB的硬件基础,另一方面是原有的程序限制为38KB+8KB.故顺便学习了下把 ...

  3. BLE MESH 学习[1] - ESP32 篇

    BLE MESH 学习 BLE MESH 是一种蓝牙(n:m)组网的技术. 本篇先介绍 BLE MESH 到使用 ESP32 的官方示例对其进行学习讲解. 后面会进一步学习 SIG 的 BLE MES ...

  4. Unity接入九游SDK学习与踩坑

    学习之路漫漫,应修之期远兮.持之以恒,方得始终. 这几日接入九游SDK,于浑浑噩噩中成长. 下面是步骤: 一:下载九游SDK 二:打开Android Studio新建一个工程,并且新建一个Androi ...

  5. 蓝牙 BLE 协议学习: 000-有关概念介绍

    背景 在学校内就用过蓝牙技术参加过比赛(并拿了奖):而蓝牙作为物联网中比较常见的协议,有必要进行深入的学习.此后的文章会以 ble(v4.0) 进行学习. 介绍 蓝牙技术最初由电信巨头爱立信公司于 1 ...

  6. 从高德 SDK 学习 Android 动态加载资源

    前不久跑去折腾高德 SDK 中的 HUD 功能,相信用过该功能的用户都知道 HUD 界面上的导航转向图标是动态变化的.从高德官方导航 API 文档中 AMapNaviGuide 类的描述可知,导航转向 ...

  7. DirectX9.0c SDK学习笔记(一)

    Direct9.0c SDK中提供了一个叫DXviewer的*.x格式文件查看器的源码,代码给出了基于DXUT框架的模型显示接口使用方法, 对于我想编写一个动作捕捉的上位程序是大有助益的. 我的想法是 ...

  8. leancloud js SDK 学习

    测试页面 AV.initialize("id", "key"); var TestObject = AV.Object.extend("TestObj ...

  9. 蓝牙 BLE 协议学习: 001-BLE协议栈整体架构

    背景 在深入BLE协议帧之前,我们先看一下BLE协议栈整体架构. 转载自:<深入浅出低功耗蓝牙(BLE)协议栈> 架构 如上图所述,要实现一个BLE应用,首先需要一个支持BLE射频的芯片, ...

随机推荐

  1. JavaScript写入文件到本地

    工作中有时需要通过 JavaScript 保存文件到本地,我们都知道 JavaScript 基于安全的考虑,是不允许直接操作本地文件的.IE 可以通过 VB 插件的方式进行,而 Chrome 和 fi ...

  2. 1像素border

    1像素border 利用伪类和媒体查询: 伪类: border-1px($color) position:relative &:after display: block position: a ...

  3. rollback

    savepoint test; rollback to savepoint test;

  4. Azure 媒体服务换新锁,更安全更方便,新钥匙请收好!

    不知道有多少人已经把家里的门锁换成了数字化的指纹锁?沿用了几百上千年的传统门锁,在技术的帮助下无疑变得更方便,不用带钥匙,还能远程控制和操作,最重要的是,终于不用担心「衣果(luǒ)着」出门扔垃圾,风 ...

  5. 使用BaiDu Java Script Web Api 在Web开发中嵌入地图使用步骤

    前言 很多做企业网站的朋友,都喜欢有一个关于我们.联系我们的栏目,那么这个栏目放什么内容才能饱满那,只有放个地图才显得有点高大上. 一.产生并复制访问Api的密钥(AK) 1.首先我们需要注册一个百度 ...

  6. Centos 6.5_64bit 下安装 Zabbix server 3.0监控主机的加入

    安装Zabbix server 3.0客户端之前需要先关闭selinux和打开10050和10051端口   关闭selinux   1      vi /etc/selinux/config 2   ...

  7. JavaScript Date对象方法详细总结

    Date 对象方法 方法 描述 Date() 返回当日的日期和时间. getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31). getDay() 从 Date 对象返回一周中的某 ...

  8. C#中生成随机数的几种方法

    Random 类 Random类默认的无参构造函数可以根据当前系统时钟为种子,进行一系列算法得出要求范围内的伪随机数 Random rd = new Random() rd.next(,)(生成1~1 ...

  9. TP5.1:数据库的增删改查操作(基于面向对象操作)

    我们现实中对数据库的增删改查操作,都是使用模型类进行操作的(表名::),也就是面向对象操作,只有底层的代码用的是数据库操作(Db::table('表名')) 下面我将贴出模型类进行的增删改查操作,通过 ...

  10. 使用命令创建jenkins的job,解决jenkinsapi.custom_exceptions.JenkinsAPIException错误

    如果你使用 Python 2.7.12,Jenkins版本为Jenkins ver. 2.22,你使用我上面一种提到的修改的以下代码可以进行Jenkins的job复制 http://www.cnblo ...