嗨,对话框中,我运行DSPS示例与5 DEVICE-BLE和1 HOST-BLE与DA14580 PRO开发板。我想为每个DEVICE-BLE保持单独的BD地址,但DSPS DEVICE-BLE程序应该是一个。对于所有的device - ble的十六进制文件应该是相同的,每个设备应该有不同的BD地址。
这怎么可能呢?我可以用随机数生成吗?如果我继续生成随机数,也有可能是相同的。还有别的办法吗?请提出你的想法?
嗨RatheeshT,
bd地址可以通过OTP报头字段填充,这是SDK将要检查的第一个bd地址源(设备唯一ID),如果它非零,SDK将把该地址作为设备的地址。如果该字段是零,那么SDK将从NVDS中获取bd地址,这是由你的sw或从OTP NVDS部分写的。因此,如果你不想烧OTP,你可以编译一个不同的。hex文件,将初始化NVDS结构在一个不同的bd地址,每个设备应该有一个单独的NVDS。关于随机生成,你必须考虑你想在你的应用程序中使用哪种地址(随机地址或公共地址,请检查BLE规范所支持的地址的额外信息的规范),但是随机地址也是一种选择,并且在使用随机地址的过程中在相同的地址上运行是极不可能的。
由于MT_dialog
嗨MT_dialog,
如何在运行时更改BD地址?我计划从UART发送BD地址,然后它会用从UART收到的地址开始发布广告。我能够从UART接收一个缓冲区中的数据,但我不知道在哪里我必须用默认地址替换这个。
请把你的想法告诉我。
嗨Ratheesh,
设备在启动过程中通过system_init()函数和nvds_bdaddr()函数读取它的bd地址,保存设备地址的数组是dev_bdaddr结构,所以在启动过程中,你可以通过UART读取db地址并使用该值填充结构。
嗨RatheeshT,
bd地址可以通过OTP报头字段填充,这是SDK将要检查的第一个bd地址源(设备唯一ID),如果它非零,SDK将把该地址作为设备的地址。如果该字段是零,那么SDK将从NVDS中获取bd地址,这是由你的sw或从OTP NVDS部分写的。因此,如果你不想烧OTP,你可以编译一个不同的。hex文件,将初始化NVDS结构在一个不同的bd地址,每个设备应该有一个单独的NVDS。关于随机生成,你必须考虑你想在你的应用程序中使用哪种地址(随机地址或公共地址,请检查BLE规范所支持的地址的额外信息的规范),但是随机地址也是一种选择,并且在使用随机地址的过程中在相同的地址上运行是极不可能的。
由于MT_dialog
嗨MT_dialog,
如何在运行时更改BD地址?
我计划从UART发送BD地址,然后它会用从UART收到的地址开始发布广告。
我能够从UART接收一个缓冲区中的数据,但我不知道在哪里我必须用默认地址替换这个。
请把你的想法告诉我。
嗨Ratheesh,
设备在启动过程中通过system_init()函数和nvds_bdaddr()函数读取它的bd地址,保存设备地址的数组是dev_bdaddr结构,所以在启动过程中,你可以通过UART读取db地址并使用该值填充结构。
由于MT_dialog