自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

琦。

liberalism

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 DA14531广播包数据动态修改

DA14531是dialog今年推出的一款BLE芯片,价格低、功耗低,应用场景广泛。开发过程中,有遇到这样的一个需求,DA14531与外设通信,随后将一些获得的信息在广播包里发送出去,想要实现这个需求,就需要在初始化蓝牙广播的时候,增加读取器件信息,更改广播包数据,再去广播。再谈具体修改方法之前,先说一下广播包的数据构成,这里指的是如图所示的数据,不是基础定义的device name,maca地址,RSSI那些。在Advertisement这个数据包里,可以存放的数据选择很多,可以参考官方B

2021-12-30 11:09:15 1086

原创 DA14580使用Segger RTT实现Log调试

DA14580是Dialog推出的一款蓝牙芯片,有些年头了,近期已经接近停产,但是由于项目需要还在使用。Dialog官方的sdk个人感觉有点难用,不像其他sdk可以很快的入门找到相应的接口快速开发,面临资料较少,很多东西都无法在网上查到,也没有官方的log调试。本来是可以使用串口调试,但是由于我用的是低电压版本开发,所以串口调试也无法使用了。故经大佬指点,实现了RTT调试,现说明整个流程,仅供参考。一、添加相应文件至工程目录1、Segger RTT的相应文件在J-Link驱动安装目录下,以我的版本为例

2020-07-24 15:42:07 479

转载 BLE协议栈 – GAP

GAP(Generic Access Profile)通用访问规范层算是BLE协议栈中最顶部的一层,它定义了设备如何广播、扫描、发现和建立连接,以及配置工作角色(Role)、可发现性、广播数据内容和安全相关的参数。从编程视角来看,GAP中的内容就像是一个config文件,BLE协议栈其他层的工作,都要从GAP中获取初始化参数和配置信息。GAP中定义了一系列模式(Mode)和规程(Procedure...

2019-08-12 10:28:31 1364 2

转载 BLE协议栈 – GATT

GATT(Generic Attribute Profile)是BLE协议栈中比较靠上的一层,它基于ATT层的属性(Attribute),对BLE连接的主从双方具体的通信行为进行规范。GATT规定了主机如何给从机发消息,以及从机如何给主机发消息。前面ATT层里面介绍了属性分组,即一个Profile下面有多个服务项,一个服务项下面有多个特征值,一个特征值下面有多个描述符,特征值是承载用户数据的载...

2019-08-12 10:26:34 1530

转载 BLE协议栈 – ATT

ATT(Attribute Protocol)属性层是GATT和GAP的基础,它定义了BLE协议栈上层的数据结构和组织方式。属性(Attribute)概念是ATT层的核心,ATT层定义了属性的内容,规定了访问属性的方法和权限。以编程的眼光来看,属性是一个数据结构,它包括了数据类型和数据值,就如同C语言结构体的概念,开发者可以设计独特的结构,来描述外部世界实体。属性包括三种类型:服务项、特征值和描...

2019-08-12 10:20:22 660

转载 BLE协议栈 – SM

SM(Security Manager)安全管理层定义了BLE通信两端设备的配对方法和密钥分发的工作模式,提供了一系列加密算法,为BLE通信提供了加密、认证等安全保障。它与GAP层密切相关,关于安全需求的一些配置是在GAP层中完成的。对数据进行加密,BLE使用AES加密算法,通过复杂的认证过程,保证该加密算法的密钥能够被安全的传递到通信链路两端的设备中。一旦有了密钥,就可以对通信过程中的数据进...

2019-08-12 10:17:46 1432 2

转载 BLE协议栈 – L2CAP

L2CAP(Logical Link Control and Adaptation Protocol)中文名为逻辑链路控制和适配协议,它位于BLE协议的主机(Host)部分,承担着协议复用(Protocol Multiplex)的任务。蓝牙协议官方手册的章节首页提到L2CAP还承担上层(ATT,SM)发来的数据的分割/重组(Segmentation/Reassembly)任务。这里需要澄清一点,这...

2019-08-12 10:10:49 1876

转载 BLE协议栈 – HCI

HCI(Host Controller Interface)层中文称为主机与控制器接口,它连接主机(Host)和控制器(Controller),将主机的操作转化成HCI指令传给控制器,BLE协议规定了HCI的指令集。单芯片与双芯片在BLE协议栈的层模型中,位于下部的物理层、链路层、DTM属于控制器,位于上部的L2Cap、ATT、GATT、GAP、SM层则属于主机,在主机之上用户自己的程序称...

2019-08-12 10:05:51 3070 1

转载 BLE协议栈 – 链路层(Link Layer)

链路层位于BLE协议栈的控制器(Controller)部分,在物理层(Physical Layer)之上,接口层(HCI)之下。物理层比较抽象,除了BLE信道,许多地方都是通用的通信技术,不能反映BLE通信协议的特点,而HCI之上的部分,大多在软件中实现,因此,理解BLE协议栈的底层实现,一定要对链路层有所认识。链路层定义了协议栈中最为基础的状态机、数据包格式、广播和连接流程等问题。《低功耗蓝...

2019-08-12 10:00:47 2995 2

转载 BLE协议栈 – 物理层(Physical Layer)

BLE物理层解决了最基础的通信问题,比如调制解调、信号放大与滤波等。在实际使用中,几乎不会关注物理层的情况,但是在BLE产品测试阶段,要测试频偏,信号强度等项目,只有对物理机制有所了解,才能理解测试项目的目的。调制通信领域,有模拟调制和数字调制,BLE使用数字调制。数字调制也分为幅值调制和频率调制,BLE使用频率调制,该技术名称叫:频移键控(Frequency Shift Keying...

2019-08-12 09:37:05 2660

转载 BLE协议栈 – 介绍

在BLE技术领域里有三个方向:BLE APP,BLE固件和BLE协议栈。其中BLE协议栈是基础,BLE芯片内部提供的固件程序充当驱动,手机上的APP作为控制端。做APP开发无需要太多的专业背景,而做固件开发则需要深入理解协议栈。BLE协议栈的官方文档可以自由下载阅读,该文档排版优良,颇具可读性。可是该文档仅有英文版,整个文档多达2000多页,这无疑增加了非英语读者的阅读困难。网上能够找到一...

2019-08-12 09:26:45 893

原创 Windows 7安装Visual Studio 2003疑难问题解决

因为项目的需求,需要在一台win7的电脑上搭建VS2003的环境。安装步骤网上有很多,但是直接安装都是失败的。经过多方查找试验,得出以下正确步骤。1)安装IIS 7.0的FrontPage 2002 Server Extensions(点击下载)在安装1)的过程中会遇到“Your system has updates that need to be applied during t...

2019-07-02 15:37:20 922

原创 EmbSysRegView的离线安装方法

最近用到了一个基于Eclipse的IDE,需要安装EmbSysRegView,用IDE直接Install不管怎么切换网络都无法安装成功,仔细查阅过后发现是更新平台上还并未更新最新的安装包。IDE报错如下:An error occurred while collecting items to be installedsession context was:(profile=Platform...

2019-02-28 16:34:47 590

原创 利用HAL库硬件IIC驱动OLED

利用CubeMX生成工程文档就不用细说了,网上很多类似的教程.主要谈一下自己将原来驱动OLED的库例程移植为HAL库的驱动,本质上没有多大的区别,只是几个函数运用的问题.利用CubeMX 选用I2C1,配置默认即可 生成工程之后,单独创建oled.c oled.h文件,在其中添加驱动代码,具体代码如下:I2C_HandleTypeDef hi2c1;void Wr...

2018-01-02 16:48:20 14116 7

原创 vim的一些配置

显示行数找到vimrc的位置,一般是在/etc/vim下.sudo vim vimrc在最后添加set nu效果:

2017-03-21 15:07:06 250

原创 VS注释快捷键

注释代码 先ctrl+k 再ctrl+c注释代码 先ctrl+k 再ctrl+u做个记录..免得忘记还得百度.

2017-03-16 15:49:42 792

原创 初学Linux命令--who

命令:who 第二列显示用户连接方式。Tty表示 用户直接连接到电脑上,而pts表示 远程登录。

2017-01-11 11:06:27 215

原创 STM32学习中遇到的问题-(1)跑马灯的实现

基于正点原子mini开发板  STM32F103RCT6基础几乎为零,很多知识都忘记了,从头开始学起。依据"正点原子教程视频,零死角玩转STM32,STM32不完全手册,STM32F103固件函数库,STM32中文参考手册,STM32F10X数据手册"进行学习。主要要自己进行编写的有,main.c,led.c,led.h首先写led.h  这一部分为led.c的头文件,必不可少,代

2016-06-26 00:38:55 3877

EmbSysRegView0.2.6安装包

EmbSysRegView安装包,版本为0.2.6,内含4个jar压缩文件,完整可用。使用方法可参考https://blog.csdn.net/comprends/article/details/88033161。

2019-02-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除