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. jQuery 显示与隐藏 tab选项卡

    方法一:使用display样式:block.none来控制文本的显示与隐藏 <div class="explain_text"> 移动互联网为企业提供了连接用户的新方式 ...

  2. python反爬之封IP

    # requests是第三方库,需要安装 pip install requests import requests # 在日常的爬虫中,封ip也是一个很常用的反爬虫手段,遇到这种情况,我们只需要在每次 ...

  3. vue2.0高仿饿了么better-scroll

    首先安装better-scroll npm i better-scroll -S goods页面模板 <template> <div class="goods"& ...

  4. canvas制作倒计时效果

  5. selenium Element not found in the cache - perhaps the page has changed since it was looked up接解决

    selenium Element not found in the cache - perhaps the page has changed since it was looked up.这个问题爆出 ...

  6. 学习笔记_TCP编程,服务端

    public void startTcpService(String ip) { try { InetAddress ipAddress = InetAddress.getByName(ip); tc ...

  7. myeclipse 10 创建webservice

    java 快捷创建webservice 收集一下,方便一下查阅 详情去看一下这个老哥,里面写得非常详细: http://hyan.iteye.com/ -- http://www.cnblogs.co ...

  8. windows server 安装之后需要做的操作

    一.运行windows update安装更新 提示: 若一直停留在“正在检查更新”,请参考https://answers.microsoft.com/zh-hans/windows/forum/win ...

  9. python 笔记1:官网下载及安装python;eclipse中安装配置pydev

    1  下载安装python. 官网:https://www.python.org/downloads/     根据自己的操作系统选择需要的版本下载并安装. 我的电脑操作系统windows xp的,只 ...

  10. 【转载】#335 - Accessing a Derived Class Using a Base Class Variable

    You can use a variable whose type is a base class to reference instances of a derived class. However ...