关于绑定数量的修改

现在的库版本是ch57x lib 2.0

配置文件有一句话

如果配置了SNVNum参数,则需要对应修改Lib_Write_Flash函数内擦除的flash大小,大小为SNVBlock*SNVNum


现在这个函数是这样的

uint32_t Lib_Write_Flash(uint32_t addr, uint32_t num, uint32_t *pBuf)

{

    EEPROM_ERASE(addr, num * 4);

    EEPROM_WRITE(addr, pBuf, num * 4);

    return 0;

}


这个函数该怎么修改?



默认绑定个数是1个,想要设置多个需要修改两处,

第一处,在lib初始化时传入绑定个数;

#if(defined(BLE_SNV)) && (BLE_SNV == TRUE)
    cfg.SNVNum = (uint8_t)BLE_SNV_NUM;
    cfg.SNVAddr = (uint32_t)BLE_SNV_ADDR;
    cfg.readFlashCB = Lib_Read_Flash;
    cfg.writeFlashCB = Lib_Write_Flash;
#endif

第二处,将BLE_SNV_ADDR的地址往前移动,每添加一个移动256字节,

BLE_SNV_ADDR为绑定信息存放首地址,dataflash共32k,例程设置的为31.5k的首地址,那么可以存放两个设备的绑定信息。


只有登录才能回复,可以选择微信账号登录