RFCOMM传输协议是在L2CAP之上提供仿真串口。
RFCOMM基于ETSI标准GSM 07.10。
RFCOMM模拟了串行9针RS-232。
RFCOMM支持两个设备间高达60路的通信连接。
Data Link Connection Identifier (DLCI) 6bits (2~61) 0被专用为控制通道,1不能用,62和63被保留。

DLCI 0,作为一个专用的控制通道,支持如下命令:

一个RFCOMM frame包含在各自的L2CAP frame里。

frame check sequence (FCS),对于不同类型的Frame会按不同数据集域来计算:
![]()
P/F-Bit
CR Bit
系统参数如下:

DLCI分配RFCOMM server channel:

Server Channel (1~30), 0和31不能用。这个值在SDP中注册。
Flow Control
source code:
system/bt/stack/rfcomm/port_api.cc
void RFCOMM_Init(void)
int RFCOMM_CreateConnection(uint16_t uuid, uint8_t scn, bool is_server,
uint16_t mtu, const RawAddress& bd_addr,
uint16_t* p_handle, tPORT_CALLBACK* p_mgmt_cb)
system/bt/stack/rfcomm/rfc_l2cap_if.cc
void rfcomm_l2cap_if_init(void)
system/bt/stack/rfcomm/rfc_ts_frames.cc
void rfc_send_sabme(tRFC_MCB* p_mcb, uint8_t dlci)
本文深入解析RFCOMM传输协议,该协议基于L2CAP之上提供仿真串口,遵循ETSI标准GSM07.10,模拟串行9针RS-232接口,支持高达60路的设备间通信。文章详细介绍了DLCI分配、控制通道、帧结构及系统参数等核心概念。
3993

被折叠的 条评论
为什么被折叠?



