分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
关键字:bluetooth 蓝牙协议 HCI剖析 HCI概述 HCI笔记 LMP L2CAP SDP RFCOMM
作者:zhongjun
本着互相学习的目的,来分享此一系列的文章,欢迎转载,请注明作者,尊重版权,谢谢文章有不当处请指正,共同学习
LMP剖析 + 模拟源码:
HCI剖析 + 模拟源码:
L2CAP剖析 + 模拟源码
SDP剖析 + 模拟源码(未完成)rfcomm剖析 + 模拟源码(未完成)
另外可以从蓝牙栏目访问我的优快云:http://blog.youkuaiyun.com/XiaoXiaoPengBo/article/category/5998687
------------------------------------------------------------------------------------------------------------------------------------
华丽分割线,进入正题
------------------------------------------------------------------------------------------------------------------------------------
一,部分代码没有完成,只是模拟一个面向连接的从建立到断开的过程,另外,L2CAP的重点状态机和拆包重组没有模拟
bt_l2cap.h
/** This file is part of the L2CAP protocal.* Data :20160510* Author: zhongjun**/#ifndef BT_L2CAP_H_H#define BT_L2CAP_H_H#include "bt_cfg.h"#ifdef DEBUG_BT_L2CAP#define DEBUG(x) {printf x;}#define BT_L2CAP_DEBUG(x) DEBUG(x)#else#define BT_L2CAP_DEBUG(x) #endif/* L2CAP CHANNEL */#define L2CAP_SIG_CH 0x0001#define L2CAP_CONLESS_CH 0x0002/* L2CAP defaults */#define L2CAP_DEFAULT_MTU 672#define L2CAP_DEFAULT_FLUSH_TO 0xFFFF/* UPPER LAYER PSM */#define SDP_PSM 0x0001/* L2CAP command codes */#define L2CAP_COMMAND_REJ 0x01#define L2CAP_CONN_REQ 0x02#define L2CAP_CONN_RSP 0x03#define L2CAP_CONF_REQ 0x04#define L2CAP_CONF_RSP 0x05#define L2CAP_DISCONN_REQ 0x06#define L2CAP_DISCONN_RSP 0x07#define L2CAP_ECHO_REQ 0x08#define L2CAP_ECHO_RSP 0x09#define L2CAP_INFO_REQ 0x0a#define L2CAP_INFO_RSP 0x0b/* connect result */#define L2CAP_CR_SUCCESS 0x0000#define L2CAP_CR_PEND 0x0001#define L2CAP_CR_NOSUP_PSM 0x0002#