小编Jér*_*Roy的帖子

蓝牙LE L2CAP CID与PSM

我一直在教自己如何使用BlueZ API在C语言中为BLE设备编写程序.但是,我似乎对sockaddr_l2结构的一个特定方面感到困惑.我使用的定义如下:

struct sockaddr_l2 {
    sa_family_t l2_family;
    unsigned short  l2_psm;
    bdaddr_t    l2_bdaddr;
    unsigned short  l2_cid;
    uint8_t     l2_bdaddr_type;
};
Run Code Online (Sandbox Code Playgroud)

现在对于我不明白的部分:l2_psm和l2_cid有什么区别?这是我到目前为止收集的内容:

PSM代表"协议服务多路复用器",是L2CAP连接的"端口".资料来源:程序员蓝牙,作者Albert Huang

CID代表"通道标识符",是表示设备上逻辑通道端点的本地名称.来源:http://ecee.colorado.edu/~ecen4242/marko/Bluetooth/Bluetooth/SPECIFICATION/L2CAP.html

现在我确定答案就在那些定义中,但我似乎无法理解CID的定义.谁能以更全面的方式向我解释PSM和CID之间的差异?

谢谢 :)

c bluetooth l2cap bluetooth-lowenergy bluez

6
推荐指数
1
解决办法
2916
查看次数

标签 统计

bluetooth ×1

bluetooth-lowenergy ×1

bluez ×1

c ×1

l2cap ×1