2020年8月4日

摘要: Controller基本概念 Controller构成 蓝牙协议分host和controller两个部分,Host是正真意义的蓝牙协议,Controller为蓝牙底层,或者说是基带芯片。基带芯片又可以分为三个部分,Radio,Link Layer和HCI。 Radio Radio可以理解为一个独立的 阅读全文

posted @ 2020-08-04 10:57 狂野木潇落 阅读(1602) 评论(0) 推荐(0) 编辑

摘要: 蓝牙基本概念 Piconet 在蓝牙设备没有跟其他蓝牙设备连线的时候,它自己属于一个piconet。当有连线后,piconet里有两种角色:master 和 slave。发起连线的一方是master,被连接的一方是slave。slave会以master的时钟为参照,以625us为时间单位,与mast 阅读全文

posted @ 2020-08-04 10:51 狂野木潇落 阅读(2899) 评论(0) 推荐(0) 编辑

摘要: 近年由于SIG蓝牙安全机制的考虑不周(例如KNOB,BlueBorne 和Invalid ECC Attack),蓝牙连接一直在受到不同程度攻击。每个SoC BLE SDK理应先经过蓝牙认证,然后才能投放市场,但SweynTooth机构的发现表明,蓝牙认证过程并未认真对待,因为大部分漏洞,在测试阶段 阅读全文

posted @ 2020-08-04 10:20 狂野木潇落 阅读(793) 评论(0) 推荐(0) 编辑

2019年3月19日

摘要: 宏的命名规范:一般以项目前缀开头,key结尾。 #开头表编译。 宏的用法:1、定义常用字符串。 2、定义一段代码。 const与宏的区别:1、编译时刻:宏-预编译 const-command+b(编译阶段)编译。 2、宏不会检查代码错误,只是替换,但是const会编译报错。 3、宏的好处:定义代码或 阅读全文

posted @ 2019-03-19 14:11 狂野木潇落 阅读(210) 评论(0) 推荐(0) 编辑

2019年2月12日

摘要: 1. 引言 给定一个主串(以 S 代替)和模式串(以 P 代替),要求找出 P 在 S 中出现的位置,此即串的模式匹配问题。 Knuth-Morris-Pratt 算法(简称 KMP)是解决这一问题的常用算法之一,这个算法是由高德纳(Donald Ervin Knuth)和沃恩 · 普拉特在 197 阅读全文

posted @ 2019-02-12 14:55 狂野木潇落 阅读(240) 评论(0) 推荐(0) 编辑

2019年2月1日

摘要: 指针可以指向一份普通类型的数据,例如 int、double、char 等,也可以指向一份指针类型的数据,例如 int *、double *、char * 等。如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。假设有一个 int 类型的变量 a,p1是指向 a 的指针变量,p 阅读全文

posted @ 2019-02-01 14:02 狂野木潇落 阅读(270) 评论(0) 推荐(0) 编辑

摘要: 指针变量保存的是地址,本质上是一个整数,可以进行部分运算,例如加法、减法、比较等,请看下面的代码: #include <stdio.h> int main(){ int a = 10, *pa = &a, *paa = &a; double b = 99.9, *pb = &b; char c = 阅读全文

posted @ 2019-02-01 13:43 狂野木潇落 阅读(293) 评论(0) 推荐(0) 编辑

摘要: 数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量。在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。指针变量的值就是某份数据的地址,这样的一份数据可以是数组、字符串、函数,也可以是另外的一个普通变量或指针变量。现在假设有一个 char 类型的变量 c,它 阅读全文

posted @ 2019-02-01 13:23 狂野木潇落 阅读(501) 评论(0) 推荐(0) 编辑

摘要: 在C语言中,函数的参数不仅可以是整数、小数、字符等具体的数据,还可以是指向它们的指针。用指针变量作函数参数可以将函数外部的地址传递到函数内部,使得在函数内部可以操作函数外部的数据,并且这些数据不会随着函数的结束而被销毁。像数组、字符串、动态分配的内存等都是一系列数据的集合,没有办法通过一个参数全部传 阅读全文

posted @ 2019-02-01 10:19 狂野木潇落 阅读(383) 评论(0) 推荐(0) 编辑

2019年1月31日

摘要: 在蓝牙协议栈的物理层,有这样两个比较有用的参数:LQI和RSSI。它们都是通过接收端,判断当前无线环境的质量(链路质量),以指导后续的动作。但这两个数值的计算原理和使用场景又有很大的差别。 LQI (Link Quality Indication),是当前接收到的信号的质量的一种度量。所谓的接收到信 阅读全文

posted @ 2019-01-31 17:10 狂野木潇落 阅读(763) 评论(0) 推荐(0) 编辑