自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朝气蓬勃

不积跬步 无以至千里, 不积小流 无以成江海

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

原创 蓝牙 BCSP 解析 源码分析

此系列打算做一个HCI解析工具,从最底层的BCSP开始作者:zhongjun本着互相学习的目的,来分享此一系列的文章,欢迎转载,请注明作者,尊重版权,谢谢文章有不当处请指正,共同学习博客地址:http://blog.csdn.net/xiaoxiaopengbo一.Introduction BCSP( BlueCore Serial Protoco)是CSR的一个协

2016-06-27 22:40:42 3423 8

转载 纸上谈兵: 树, 二叉树, 二叉搜索树

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 树的特征和定义树(Tree)是元素的集合。我们先以比较直观的方式介绍树。下面的数据结构是一个树:树有多个节点(node),用以储存元素。某些节点之间存在一定的关系,用连线表示,连线称为边(edge)。边的上端节点称为父节点,下端称为子节点。树

2016-06-18 16:15:31 894

转载 算法之二叉树各种遍历

树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个结点;

2016-06-18 16:12:30 829

转载 链表

转载自:http://blog.csdn.net/xubin341719/article/details/7091583/最近不是太忙,整理些东西,工作也许用得到。1,为什么要用到链表数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不能在程序中进行调整,这样一来,在程序设计中针对不同问题有

2016-06-18 15:47:24 1126

转载 栈 和 队列

转载自:http://blog.csdn.net/hguisu/article/details/76741951.栈1.1 栈的定义栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示:结论:后进先出(Last In First Out),简称为LIFO线性表。栈的基本运算有六种:

2016-06-18 15:15:40 945

转载 八大排序算法

转载自:http://blog.csdn.net/hguisu/article/details/7776068概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。        当n较大,则应采用时间复杂度为O(nlog

2016-06-18 15:04:07 847

转载 散列表(hash table)

目录                                         引言直接寻址散列寻址散列函数除法散列乘法散列全域散列完全散列碰撞处理方法链表法开放寻址法线性探查二次探查双重散列随机散列再散列问题完整源码(C++)参考资料内容                                          1、引

2016-06-17 15:35:58 1346

转载 散列表 基本概念

散列表散列表 又叫 哈希表 (hash table)。通过访问key而直接访问存储的value值。它的key - value之间存在一个映射函数,我们可以通过key值和“看不到”的映射函数(散列函数)访问对应的value值。这加快了查找的速度!存放记录的数组称做散列表。散列方法不同于顺序查找、二分查找、二叉排序树及B-树上的查找。它不以关键字的比较为基本操作,采用直接寻址技术

2016-06-17 09:27:50 4958

原创 蓝牙 AVRCP 剖析

一.概述The Audio/Video Remote Control Profile (AVRCP) defines the features and procedures required in order to ensure interoperability between Bluetooth devices with audio/video control  functions

2016-06-16 14:32:28 8218 7

转载 蓝牙 AVCTP 剖析

1.概述    AVCTP协议描述了蓝牙设备间Audio/Video的控制信号交换的格式和机制,它是一个总体的协议,具体的控制信息由其指定的协议(如AVRCP)实现,AVCTP本身只指定控制command和response的总体的格式。    几个重要的点:(1)AVCTP uses point-to-point signaling over connection-orie

2016-06-16 10:17:37 4788 1

原创 蓝牙 AVDTP 剖析(二) --- command格式 和 流程

一.PDU解析1.Signal command and response headersPDU ID1).AVDTP_DISCOVER2).AVDTP_GET_CAPABILITIES3).AVDTP_SET_CONFIGURATION4).AVDTP_OPEN5).AVDTP_ST

2016-06-15 15:38:08 3065

转载 蓝牙 AVDTP 剖析(一) --- 概述

1.概述   AVDTP(AUDIO/VIDEO DISTRIBUTION TRANSPORT PROTOCOL)是用来描述音频/视频在蓝牙设备间的传输的协议,是A2DP协议的基础协议,其在协议栈中的位置如下:AVDTP协议建立在connection-oriented L2CAP channel上,只能支持point-to-point signaling。

2016-06-15 14:56:05 9136

转载 蓝牙音乐音质损耗

你真的知道吗? 蓝牙设备为何音质差最近这段时间Wi-Fi音箱可谓是非常热门的一个话题,也许平时不怎么关注音箱耳机的一些网友都有所耳闻了,就现在的情况而言,很多Wi-Fi音箱在宣传时都会和蓝牙产品进行音质上的对比,称音质会比蓝牙的好上不少,能做到无损传输,而事实上也确实如此。蓝牙音频产品的音质已经被人吐槽了很长一段时间了,几乎所有人都已经知道蓝牙产品音质不如其他,随着

2016-06-14 14:15:26 17949

转载 蓝牙音乐 A2DP 剖析

1.概述    A2DP(Advanced Audio Distribution Profile)是蓝牙的音频传输协议,典型应用为蓝牙耳机。A2DP协议的音频数据在ACL Link上传输,这与SCO上传输的语音数据要区别。A2DP不包括远程控制的功能,远程控制的功能参考协议AVRCP。AVDTP则定义了蓝牙设备之间数据流句柄的参数协商,建立和传输过程以及相互交换的信令实体形式,该协议是

2016-06-14 13:35:46 6138 2

原创 蓝牙 HID class descriptor 分析

一.MOUSE0x05,0x01, /*USAGE_PAGE (Generic Desktop)*/0x09,0x02, /*USAGE (Mouse)*/0xa1,0x01, /*COLLECTION (Application)*/0x09,0x01, /*USAGE (Pointer)*/0xa1,0x00, /*COLLECTION (Physical

2016-06-13 17:09:24 3853 1

转载 蓝牙 HID 剖析(一)

1.概述    The Human Interface Device (HID)定义了蓝牙在人机接口设备中的协议、特征和使用规程。典型的应用包括蓝牙鼠标、蓝牙键盘、蓝牙游戏手柄等。该协议改编自USB HID Protocol。    2.一些概念(1)HID Reports:Bluetooth HID devices支持三种Report:Input, Output, and Fea

2016-06-13 15:58:00 14470 6

原创 蓝牙电话 HFP 剖析(三) --- flow解析

一.SLC建立过程deatil air packet、二.主动打电话此文章的目的:帮助初入蓝牙的人理解HFP 是通过AT command交互在这里不能一一列出具体的功能flow,如从事蓝牙,遇到HFP问题,可以私信我

2016-06-08 07:52:17 3771 2

原创 蓝牙HFP 蓝牙电话剖析(二) --- AT command集合

蓝牙电话 HFP AT COMMAND集合

2016-06-08 07:44:43 5332

原创 蓝牙 电话 HFP 剖析(一) --- 概述

一.概述    HFP(Hands-free Profile),可以让蓝牙设备可以控制电话,如接听、挂断、拒接、语音拨号等,拒接、语音拨号要视蓝牙耳机及电话是否支持。    结构图:        定义了两种角色(role):Audio Gateway (AG) – This is the device that is the gateway of the audio, b

2016-06-08 07:41:02 8216 1

转载 C语言 -- 返回局部变量

一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意

2016-06-06 13:36:12 947

原创 编程规范 --- 宏

1:用宏定义表达式时,要使用完备的括号。示例:如下定义的宏都存在一定的风险。#defineRECTANGLE_AREA( a, b ) a * b#defineRECTANGLE_AREA( a, b ) (a * b)#defineRECTANGLE_AREA( a, b ) (a) * (b)正确的定义应为:#defineRECTANGLE_AREA( a, b ) (

2016-06-04 15:12:42 1874 2

原创 编程规范 --- 代码测试、维护

1:单元测试要求至少达到语句覆盖。2:单元测试开始要跟踪每一条语句,并观察数据流及变量的变化。3:清理、整理或优化后的代码要经过审查及测试。4:代码版本升级要经过严格测试。5:使用工具软件对代码版本进行维护。6:正式版本上软件的任何修改都应有详细的文档记录。7:发现错误立即修改,并且要记录下来。8:关键的代码在汇编级跟踪。9:仔细设计并分析测试用例,使测试用例覆盖尽

2016-06-04 15:10:17 1582

原创 编程规范 --- 代码编辑、编译、审查

1:打开编译器的所有告警开关对程序进行编译。2:在产品软件(项目组)中,要统一编译开关选项。3:通过代码走读及审查方式对代码进行检查。说明:代码走读主要是对程序的编程风格如注释、命名等以及编程时易出错的内容进行检查,可由开发人员自己或开发人员交叉的方式进行;代码审查主要是对程序实现的功能及程序的稳定性、安全性、可靠性等进行检查及评审,可通过自审、交叉审核或指定部门抽查等方式进行。4

2016-06-04 15:06:46 1605

原创 编程规范 --- 质量保证

1:在软件设计过程中构筑软件质量。2:代码质量保证优先原则     (1)正确性,指程序要实现设计要求的功能。     (2)稳定性、安全性,指程序稳定、可靠、安全。     (3)可测试性,指程序要具有良好的可测试性。     (4)规范/可读性,指程序书写风格、命名规则等要符合规范。     (5)全局效率,指软件系统的整体效率。     (6)局部效率,指某个模块

2016-06-04 15:01:17 2657

原创 编程规范 --- 程序效率

1:编程时要经常注意代码的效率。说明:代码效率分为全局效率、局部效率、时间效率及空间效率。全局效率是站在整个系统的角度上的系统效率;局部效率是站在模块或函数角度上的效率;时间效率是程序处理输入任务所需的时间长短;空间效率是程序所需内存空间,如机器代码空间大小、数据空间大小、栈空间大小等。2:在保证软件系统的正确性、稳定性、可读性及可测性的前提下,提高代码效率。说明:不能一味地追求代码效

2016-06-04 14:53:13 2191

原创 编程规范 --- 可测性

1.项目组或产品组内,要有一套统一的为集成测试与系统联调准备的调测开关及相应打印函数,并且要有详细的说明。说明:本规则是针对项目组或产品组的。2:在同一项目组或产品组内,调测打印出的信息串的格式要有统一的形式。信息串中至少要有所在模块名(或源文件名)及行号。说明:统一的调测信息格式便于集成测试。3:编程的同时要为单元测试选择恰当的测试点,并仔细构造测试代码、测试用例,同时给

2016-06-04 14:46:15 2144

原创 编程规范 --- 函数 过程

1:对所调用函数的错误返回码要仔细、全面地处理。2:明确函数功能,精确(而不是近似)地实现函数设计。3:编写可重入函数时,应注意局部变量的使用(如编写C/C++语言的可重入函数时,应使用auto即缺省态局部变量或寄存器变量)。说明:编写C/C++语言的可重入函数时,不应使用static局部变量,否则必须经过特殊处理,才能使函数具有可重入性。4:编写可重入函数时,若使用全局变量,

2016-06-04 14:37:56 3980

原创 编程规范 --- 变量 结构

1:去掉没必要的公共变量。说明:公共变量是增大模块间耦合的原因之一,故应减少没必要的公共变量以降低模块间的耦合度。2:仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。说明:在对变量声明的同时,应对其含义、作用及取值范围进行注释说明,同时若有必要还应说明与其它变量的关系。3:明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。说明:明确过

2016-06-04 14:20:14 1447

原创 编程规范 --- 可读性

1:注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。说明:防止阅读程序时产生误解,防止因默认的优先级与设计思想不符而导致程序出错。示例:下列语句中的表达式word = (high if ((a | b)&& (a & c))      (2)if ((a | b) 如果书写为high a | b && a& ca | b 由于hig

2016-06-04 14:05:28 1182

原创 编程规范 --- 标识符命名

1:标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。说明:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。示例:如下单词的缩写能够被大家基本认可。temp 可缩写为 tmp  ;flag 可缩写为 flg  ;statistic 可缩写为  stat;incremen

2016-06-04 14:01:02 2173

原创 编程规范 --- 注释

1:一般情况下,源程序有效注释量必须在20%以上。说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。2:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简

2016-06-04 11:51:05 5352

原创 编程规范 --- 排版

1-1:程序块要采用缩进风格编写,缩进的空格数为4个。说明:对于由开发工具自动生成的代码可以有不一致。1-2:相对独立的程序块之间、变量说明之后必须加空行。示例:如下例子不符合规范。if (!valid_ni(ni)){   ... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_

2016-06-04 11:35:47 2860

原创 算法导论(1) 笔记

算法概念:       所谓算法,就是定义良好的计算过程,它取一个或者一组值作为输入,并产生一个或者一组值作为输出。       亦即:算法就是一系列的计算步骤,用来将输入数据转换成输出结果。选择最佳排序算法考虑因素:       待排序的数据项,已排序的程度,对数据取值的i可能限制,采用的存储设备的类型。算法大分类:       正确算法:一个算法

2016-06-04 11:16:39 1003

转载 算法的时间复杂度和空间复杂度-总结

算法的时间复杂度和空间复杂度-总结        通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的

2016-06-04 11:04:53 39155 4

原创 蓝牙 WBS 宽带通话 (wide band speech) 剖析(二) -- BCCMD control chip

一.概述此文章接上篇文章:http://blog.csdn.net/xiaoxiaopengbo/article/details/51565016此文介绍蓝牙通话WBS功能,通过BCCMD command方式来告知芯片DSP对通话data进行msbc编解码如有不懂BCCMD看此文档:http://blog.csdn.net/xiaoxiaopengbo/article/details/

2016-06-03 16:54:12 6264 7

原创 蓝牙 宽带通话 (wide band speech)WBS 剖析(一) -- profile层

一.概述WBS(wide band speech)通俗来讲就是蓝牙宽带通话,通话数据frequency 16K,采用msbc编解码(chip中实现)和NBS(narrow band speech)相对,NBS通俗来讲是窄带通话,通话数据frequency 8K,采用CSVD编解码(chip中实现)NBS是默认二.实现要实现WBS,总体来说比较复杂要分两个阶段进行:1

2016-06-02 11:21:26 13689 2

原创 2016下半年计划

匆匆上半年过去了制定下半年计划,督促自己近期先会做几件事情:1.整理编程规范2.整理CSR WBS DSP manger flow3.编写一个Parse 蓝牙data的软件除了平时把工作做出色外1.学习算法导论-》把数据结构和算法弄的扎实点2.刷下leetcode-》巩固数据结构和算法3.深入学习linux and μC/OS II4.学习《

2016-06-01 21:19:06 984

原创 蓝牙 BCCMD 剖析

一.概述BCCMD协议(BlueCoreCommand protocol)是CSR公司为主机访问其蓝牙芯片上命令解释器提供的借口协议命令解释器执行监控蓝牙芯片的命令二.原理三.数据模型四.消息1.结构:2.处理流程:

2016-06-01 17:46:34 5388 1

core5.2.rar

附件为蓝牙V5.2 core文档,目前为SIG最新的协议栈文档,供蓝牙开发板工程是下载查阅.

2020-07-21

SSD1306资料.rar

0.91寸 OLED SSD1306资料(包含英文/中文数据手册/iic逻辑时序图/代码/上位机),供学习下载

2019-12-26

stm32f1_mrvl88w8801应用笔记_20191220.pdf

本文章是STM32F103驱动Marvell8801/Marvell88w8801的应用手册,包含以下篇幅 1)整体介绍篇,主要对开发板做整体介绍 2)硬件篇,主要对板子外设驱动做说明 --》主要对SSD1306 OLED介绍,SPI FLASH介绍,FATFS介绍,USB device介绍,OV7670介绍 3)Linux Wi-Fi篇,主要通过Linux来驱动Wi-Fi模组来了解Linux kernel的无线架构 4)自己实现Marvell8801驱动,主要是根据编程手册来自己实现一个SDIO Wi-Fi的驱动 5)LWIP篇,通过移植LWIP来实现驱动的应用

2019-12-20

AMS1117稳压芯片中文文档

AMS1117稳压芯片的介绍,由于不能免费,所以弄了最低分下载,如果没分可以直接找我要

2018-04-22

ARM CP15寄存器组介绍

ARM CP15组的介绍,ARM开启I/D catch,MMU只能通过这个寄存器

2017-12-07

stm32f4xx 库函数手册

stm32f4xx库函数手册

2017-05-27

stm32f407 参考手册

stm32f407 参考手册,里面包含每个寄存器的定义

2017-05-27

stm32f407 datasheet 数据手册

stm32f407 datasheet 数据手册

2017-05-27

stm32f407 管脚定义

stm32f407 pin define

2017-05-27

stm32f407原理图

stm32f407原理图

2017-05-27

apue头文件

编译UNIX高级环境编程,缺少apue.h文件的解决方法

2016-02-03

STM32 UART

STM32 UART,没有使用DMA,功能是:通过串口接受到数据,进去中断,然后再发送出去

2016-02-02

STM32实现button polling & interrupt方式点亮LED

STM32实现polling & interrupt点亮LED

2016-01-29

STM32 流水灯

STM32 GPIO点亮流水灯试验(库函数版)

2016-01-26

CSR pskey英文文档+翻译文档

CSR pskey英文文档 + 翻译文档大全 适合蓝牙开发人员使用.zip

2015-12-30

unix环境高级编程(APUE)+源码

unix环境高级编程(第3版),附带源码

2015-12-24

I2C总线原理

I2C总线原理,浅显易懂(附带软件模拟I2C)

2015-12-10

网上荡的,uart资料,讲的蛮清楚,适合入门

UART讲解,适合入门·免费散了,网上淘的一片文章

2015-12-06

空空如也

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

TA关注的人

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