蓝牙
文章平均质量分 73
....行走江湖
这个作者很懒,什么都没留下…
展开
-
协议/服务复用(PSM)
https://www.bluetooth.com/specifications/assigned-numbers/logical-link-control协议/服务复用(PSM): 2个字节(最小)PSM段结构以地址段的ISO3309扩展机制为基础。所有PSM值都必须是奇数, 也就是最低位字节的最低位必须为"1"。而且,所有PSM值的最高字节的最低位应等于"0"。 这样PSM段将可以扩展...原创 2018-09-20 15:54:52 · 2572 阅读 · 0 评论 -
蓝牙搜索-广告包内容过滤器(0CF:0x157)
LE_APCF_CommandOCF:0x157命令参数 大小 用途 APCF_opcode 1 个八位字节 0x00 - APCF 启用 0x01 - APCF 设置过滤参数 0x02 - APCF 广播地址 0x03 - APCF 服务 UUID 0x04 - APCF 服务请求 UUID 0x05 - APCF 本地名称 ...转载 2018-10-11 11:10:28 · 1753 阅读 · 1 评论 -
android蓝牙设备类型设置 dev class设置
设置设备的类型/* Default class of device* {SERVICE_CLASS, MAJOR_CLASS, MINOR_CLASS}** SERVICE_CLASS:0x5A (Bit17 -Networking,Bit19 - Capturing,Bit20 -Object Transfer,Bit22 -Telephony)* MAJOR_CLASS:0x0...原创 2019-09-16 17:14:16 · 2352 阅读 · 0 评论 -
控制器数据数据到btu_hci_msg_process调用流程
在蓝牙使能后enable 过程中 调用 hal_open函数(system\bt\hci\src\hci_hal_mct.c) event_stream = hci_reader_new(uart_fds[CH_EVT], HCI_HAL_SERIAL_BUFFER_SIZE, SIZE_MAX, ...原创 2018-09-10 16:06:38 · 865 阅读 · 0 评论 -
蓝牙enable 失败问题
上电蓝牙芯片默认的波特率为115200,但是实际上蓝牙在正常工作的时候115200波特率满足不了通信速度,需要提升波特率。曾经遇到过一款蓝牙芯片有一款没有CTS 管脚,但是在CPU这边已经配置启用了硬件流校验功能,导致蓝牙使能失败。查看蓝牙log发现在115200时候CPU与蓝牙通信正常,提高波特率开始硬件流校验功能后一直等待不到蓝牙芯片反馈的数据导致使能失败,最后才知道蓝牙芯片没有CTS...原创 2018-09-07 17:05:29 · 685 阅读 · 0 评论 -
读取BLE蓝牙特征命令
LE Read Local Supported Features Command 代码路径: system\bt\stack\include\hcidefs.h/*** LE features encoding - page 0 (the only page for now)*//* LE Encryption */#define HCI_LE_FEATURE_LE...原创 2018-08-31 15:06:47 · 1895 阅读 · 0 评论 -
蓝牙IO Capabilities
蓝牙配对需要交换本机和目标机的IO功能, 蓝牙的IO Capabilities定义如下:input功能:output 功能:将input功能和output能力整合到一起总共有6种组合方式: NoInputNoOutput 设备没有输入和输出的能力DisplayOnly 设置只有输出显示的能力NoInputNoOutput1 因...原创 2018-09-12 14:40:37 · 2919 阅读 · 0 评论 -
蓝牙用户请求事件(User Confirmation Request Event)调用流程
User Confirmation Request Event(用户确认请求事件): 协议中关于User Confirmation Request Event事件定义如下:当主机发送配对请求,从机蓝牙控制器接受到请求数据,协议层经过数据处理,最后到btu_hci_msg_process函数,btu_hci_msg_process函数 事件类型为 BT_EVT_TO_BTU_HCI_EV...原创 2018-09-12 16:32:37 · 4122 阅读 · 0 评论 -
HCI数据包格式分类
HCI Packet在Host和Control之间进行传输,通常有四种Command,ACL Data SCO/eSCO Data 和 Event,HCI Command Packet; HCI ACL Data Packets: HCI Synchronous Data Packets:(SCO and eSCO) HCI Event Packet: 具体介绍可以查看蓝牙官...原创 2018-09-10 15:27:54 · 5128 阅读 · 0 评论 -
蓝牙事件处理函数
对应蓝牙协议文档Vol 2: Core System Package [BR/EDR Controller volume] Part E: Host Controller Interface Functional Specification 7 HCI Commands and Events 7.7 EVENTS page 843sy...原创 2018-09-10 16:01:39 · 1986 阅读 · 0 评论 -
android蓝牙串口初始化过程
现在选用的方法蓝牙芯片使用串口与CPU进行数据交互。 蓝牙串口初始化在蓝牙enable过程中初始化的。1: system\bt\btif\src\Bluetooth.cstatic int enable(bool start_restricted){ .... stack_manager_get_interface()->start_up_stack_asy...原创 2018-09-07 15:15:37 · 2765 阅读 · 0 评论 -
Read Local Extended Features Command
#define HCI_READ_LOCAL_EXT_FEATURES (0x0004 | HCI_GRP_INFORMATIONAL_PARAMS)static BT_HDR *make_read_local_extended_features(uint8_t page_number) { uint8_t *stream; const uint8_t parameter_...原创 2018-09-13 10:52:36 · 474 阅读 · 0 评论 -
android修改蓝牙默认名称
高通平台蓝牙定义名称在:device/qcom/common/bdroid_buildcfg.h文件中;#define BTM_DEF_LOCAL_NAME "QCOM-BTD"获取蓝牙默认名称函数: 代码路径:system\bt\btif\src\btif_dm.c#define PROPERTY_PRODUCT_MODEL "ro.product.model"st...原创 2018-08-30 18:00:27 · 4423 阅读 · 0 评论