自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(25)
  • 收藏
  • 关注

转载 vim tab

2. vim /etc/vimrc 1set ts=42set expandtab3set autoindent

2014-07-11 20:45:37 234

转载 笔记本电脑的触摸板禁用方法

软件名: touchpad-indicator(ubuntu软件中心中可能搜索不到)那么使用其他方式

2014-07-10 21:04:48 455

[Design pattern principle-1. Demeter principle]

[法则定义]迪米特法则(Law of Demeter)又叫作最少知道原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD.

2014-02-22 13:29:42 84

转载 C++

String类型#include #include using namespace std;int main(void){ string str("Hello Bluetooth"); /* string类型变量初始化 */ cout << str << " size is:" << str.size() <<endl; /* 计算长度用.size() */

2013-05-15 15:55:15 63

转载 一道Intel面试题

在X86架构下有以下代码,运行结果是什么? int i;int a[10];for (i = 0; i <= 10; i++){ a[i] = 0;} 答案:死循环why?? 先说说X86这个架构,这厮开辟一个栈让你用,但确是从高地址向低地址增长。也就是说你先声明变量i,i放在高地址。然后开辟一个数组,放在低地址。而最低的地址就是

2013-05-06 15:27:11 272

转载 大小端

大小端由来:端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在计算机业Big En

2013-03-17 09:25:59 400

原创 大小端

引子讲个小故事,端模式出自Jonathan Swift书写的《格列佛游记》一书,这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。

2013-03-10 11:57:25 64

转载 可变结构体

今天在看tinyxml源码的时候发现了在结构体使用数组长度为1的数据,如下:struct Rep{size_type size, capacity;char str[1];};这是之前没有接触过的,上网了解才知道这主要是为了实现可变长结构体,下面是自己写的测试代码:#include #include #include struct l

2012-12-18 22:01:53 231

转载 二级指针数组小例

#define u8 unsigned char#define BD_ADDR_LEN 6#define FILTER_ADDR_RANGE 12typedef u8 BD[BD_ADDR_LEN];int main(void){ u8 aucFilterAddr[FILTER_ADDR_RANGE] = {0x00,0x00,0x00,0x00,0x00,0x00,

2012-11-19 11:00:28 122

原创 malloc size的获得

项目不让用malloc,今天闲来无事突然想到如何才能得到malloc空间的问题?——这不是很傻吗?malloc用于user自行临时在堆中创建一块使用内存。内存会说,你自己创建的你自己去查代码,要不就问问你的屁屁:)不管怎么样,还是有这样的API提供的,蛮有趣的:)_msizeDescription:Return the size of a memory bloc

2012-11-17 21:10:29 328

原创 小邵的精文

记得当前刚开始学 C/C++ 语言的时候,教科书说 C/C++ 是相对于机器语言的一种高级语言,那么什么是高级语言,也就是高级语言与机器语言本质上有什么区别?对于这个问题,大家可能都听过类似下面的解释:机器语言是面向机器的,高级语言是面向活人的,所以高级语言理容易阅读,容易理解 那么大家有没有想过为什么高级语言容易阅读?这背后有什么东西在发挥作用? 除了模块化的思想以外

2012-11-15 13:31:27 627

转载 如何编写优质的API文档

2012-03-08 08:45 | 4892次阅读 | 来源:parse.com 【已有8条评论】发表评论关键词:API | 作者:James Yu | 收藏这篇资讯编写技术文档,是令众多开发者望而生畏的任务之一。它本身是一件费时费力才能做好的工作。可是大多数时候,人们却总是想抄抄捷径,这样做的结果往往非常令人遗憾的,因为优质的技术文档是决定你的项目是否引人关注的重要因素。无论开源产品或

2012-11-12 22:04:44 248

原创 函数指针的数组

函数名本来就是指针(地址),两种定义方法如下一、先定义函数指针类型,再定义数组,然后调用typedef int (*pfun)(int a); //define function pointer typeint foo(int a){ printf("%2d\n", a); return 0;}int main(void){ int b = 30; pfu

2012-11-09 15:28:58 173

原创 有意思的小程序

/* 已知abcd + dacb = 15952,求所有组合*/int main(void){ int num; int a,b,c,d; for (num = 1001; num<10000; num++) /*abcd最少要4位数才能得到15952*/ { a = num/1000; b = num%1000/100; c = num%100/10; d

2012-10-28 13:37:21 444

原创 回调函数(CallBack Function)

什么是回调函数?用一句话来形容:回调函数还真有点像您随身带的BP机,告诉别人号码,在它有事情时Call您。换句话说,模块A将一个函数以函数指针的形式注册到模块B,模块B满足一定条件时来调用模块A注册过来的函数,来完成一定的功能,这个过程就是函数的回调。什么时候调用回调函数?我们可以把C中完成这个功能的主函数以指针的形式注册到S中,并且保存在S中,当然这个函数的参数可

2012-10-21 12:29:51 646

原创 二级指针数组小例

typedef unsigned char BD_ADDRESS[6];typedef struct{ unsigned int _usCount; BD_ADDRESS (*pstList)[2]; /* Secondary pointer array definition */}AddrFilter_t; int main(void){ int i=0

2012-10-17 11:40:23 67

原创 二级指针小例

typedef unsigned char BD_ADDRESS[6];typedef struct{ unsigned int _usCount; BD_ADDRESS (*pstList)[2]; /* Secondary pointer array definition */}AddrFilter_t; int main(void){ int i=0;

2012-10-17 11:23:52 74

原创 枚举小例

typedef enum{ PANU = 0, /* initialize enum */ GN, NAP}PAN_t;void SetLocalRole(PAN_t role){ /* set local role */}int main(void){ SetLocalRole(PANU); /* 调用时有效限定了角色的取值范围 */ retu

2012-10-12 14:49:17 113

原创 BNEP协议

BNEPEnglish: Bluetooth Networking Encapsulation Protocal 中文: 蓝牙网络封包协议位置:位于L2CAP 和 PAN 之间IPv4和IPv6是必要的网络类型,这样"蓝牙网络"才能支持其他主流协议

2012-09-19 11:17:39 1588

原创 SDP搜索

SDP搜索步骤:一. 绑定远端设备二. SDP Open三. SDP_ServiceSearchReq      出现的问题:1. 参数不全,执行失败(重新添加TestCase)                              2. 返回失败错误码 (超时时间设置长一些)四. 查看Log,根据返回的 Service Record Handle 一个一个去调 SDP

2012-08-28 17:16:37 493

原创 L2CAP的MTU

MTUMTU是Max Transmission Unit 的缩写,考虑到设备RAM的容量限制,在 BT 的 L2CAP 层设置了MTU用于限制设备一次通信接受数据的大小。L2CAP协议里默认是671 bytes。如何知道MTU是多大?可以在空中包或者BlueEye的log中查看到。比如在空中包 L2CAP 层:Configure request (主动)  Conf

2012-08-28 16:32:05 761

原创 R2 TestServer使用

工具使用步骤1. 控制面板 -> 语言改成英语(美国) -> 重启2. 运行 source_code/RadioApp/WorkSpace/Debug/RadioApp.exe3. 运行 TestServer4. 点击 CONNECT DOPC 连接开发板5. 点击 Cmd File 添加相应的 DataFiles测试手顺1. C_COMREQ 本地串口

2012-08-28 16:08:27 295

原创 用goto解决错误处理

在错误处理时,有时候使用 goto 能够减少一些代码冗余,比如以下代码:typedef struct{ void *buff1; void *buff2; void *buff3;} foo;int func(void){ foo *p = (foo *)malloc(sizeof(foo)); if (p == NULL)

2012-08-28 15:43:00 444 1

原创 CMake的使用

背景:在SourceSafe中得到的代码无工程工程创建步骤:1. 打开CMake2. 在where is the source code 中添加代码的绝对路径 eg: C:/Documents and Settings/IA/Desktop/XXX_Project3. 在where to build the binaries 中添加VC9的工程路径 eg: C:/Doc

2012-08-28 14:55:12 178

原创 蓝牙地址

如何查看蓝牙地址蓝牙地址:• LAP field: lower address part consisting of 24 bits                   低位地址部分• UAP field: upper address  part consisting of 8 bits                   高位地址部分• NAP field: non-signif

2012-08-28 13:25:12 717

空空如也

空空如也

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

TA关注的人

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