/bluetooth_stack

这是一个开源的双模蓝牙协议栈(bluetooth.stack)(btstack),可以运行在STM32,Linux.由LWBT修改而来,包含HCI,L2CAP,SDP,RFCOMM,HFP,SPP,A2DP,AVRCP,AVDTP,AVCTP,OBEX,PBAP等协议,后续会继续维护,以达到商用的目的

Primary LanguageC

蓝牙协议栈 Bluetooth stack

这是一个包含传统蓝牙跟低功耗蓝牙的协议栈,属于超轻量级蓝牙协议栈,用作学习蓝牙协议栈的人使用
我根据此部分也搭建了一个开发环境,来作为额外收入,希望大家多多支持。有不足支持也希望大家指正。

CSR8311 BCM43430A(AP6212A) BCM4345C5(AP6256)
STM32F103 购买开发板连接(点击我) × 暂未上线 × 暂未上线
STM32F407 购买开发板连接(点击我) × 暂未上线 × 暂未上线
STM32F412 购买开发板连接(点击我) × 暂未上线 × 暂未上线
Linux 购买模组连接(点击我) √ 暂未上线 √ 暂未上线

源码目录结构

目录文件夹 子目录文件夹 说明
board stm32f10x STM32F103板载外设驱动
stm32f407 STM32F407板载外设驱动
stm32f412 STM32F412板载外设驱动
bsp cortex-m3 Cortex M3 Driver库(M3默认用标准库)
cortex-m4 Cortex M4 Driver库(M3默认用HAL库)
component bluetooth 蓝牙协议栈源码
cjson json源码(目前用于跟上位机交互)
fs file system文件系统,目前用于管理spi flash
memory_manager 内存管理,目前用于管理STM32F407的SRAM
ringbuffer 环形数组,用于蓝牙接收串口数据
mcu_bt_tool PC上位机,用于控制STM32开发板,以及接受STM32的状态回传
project stm32f10x_bb_bt STM32F103裸机(BB:bare board)蓝牙工程
stm32f407_bb_bt STM32F407裸机(BB:bare board)蓝牙工程
stm32f412_bb_bt STM32F412裸机(BB:bare board)蓝牙工程
linux_bt Linux 蓝牙工程
python_tool convert_binayr_file_to_array.py 把二进制文档转换为数据的python工具
corvert_opcode_to_ogf_ocf.py 把HCI opcode转换为OGF,OCF

技术文章专栏:

CSDN技术文章专栏(点击我)

视频教程:

CSDN学院教程-蓝牙协议栈教程(点击我)

平台介绍:

目前我们的蓝牙协议栈可以在STM32F103以及在Linux跑起来,蓝牙芯片是CSR8311,支持
PROTOCOL:HCI L2CAP RFCOMM SDP
PROFILE: HFP A2DP AVRCP PBAP SPP 希望会有更多的人来加入进来一起协作开发profile以及蓝牙芯片的工作。

蓝牙协议栈架构: