前面讲了使用 ioctl发送HCI Command的方法。但HCI protocol还有一些Command,比如Inquiry等,他们则不需要使用ioctl来发送。blueZ 直接提供了支持,虽然他们的最终都是用同样办法实现的。
在应用程序中:
hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags);
这样需要包含blueZ 头文件如下:
#include //BTPROTO_HCI
#include //struct hci_dev_info
#include //hci_devid()
#include //l2cap
#include //hidp
hci_inquiry()的实现在 bluez-lib-xxx/lib/src/hci.c中。
哈哈,发现其实最终也是使用:
ioctl(dd, HCIINQUIRY, (unsigned long) buf);
这样,其实就和上一篇对应起来了。所有HCI Command最终都使用ioctl来发送。
在应用程序中:
hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags);
这样需要包含blueZ 头文件如下:
#include //BTPROTO_HCI
#include //struct hci_dev_info
#include //hci_devid()
#include //l2cap
#include //hidp
hci_inquiry()的实现在 bluez-lib-xxx/lib/src/hci.c中。
哈哈,发现其实最终也是使用:
ioctl(dd, HCIINQUIRY, (unsigned long) buf);
这样,其实就和上一篇对应起来了。所有HCI Command最终都使用ioctl来发送。
本文深入探讨了blueZ库在实现蓝牙低功耗协议(HCI)时如何简化HCI命令的使用,通过实例展示了如何调用蓝点的内置函数进行查询操作,如设备搜索,并揭示了这些操作背后的底层原理,即它们最终都是通过ioctl接口实现。
1494

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



