可以使用BlueNRG-MS的ACL(Access Control List)功能来实现只允许已知设备连接。ACL是一种基于MAC地址的过滤系统,只有在ACL列表中的设备才能与BlueNRG-MS连接。
在蓝牙连接时,可以使用以下代码设置ACL:
uint8_t bdaddr[6] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66}; //已知设备的MAC地址
aci_gap_add_devices_to_white_list(1, bdaddr); //将MAC地址添加到ACL列表中
这样,只有在ACL列表中的设备才能成功连接到BlueNRG-MS。需要注意的是,ACL列表只能存储有限数量的设备MAC地址,最大值取决于BlueNRG-MS的内存。如果需要添加更多的设备,可以使用aci_gap_remove_devices_from_white_list()函数从ACL列表中删除不需要的设备MAC地址。