ch579m
蓝牙键鼠设备,蓝牙连接
蓝牙连接状态下修改 并写入 dataFlash 成功
关闭后重新打开设备 蓝牙连接就连不上了 报错0x13
电脑蓝牙删除设备 重新添加蓝牙设备后就正常了(有时候需要关闭蓝牙后再开)
求解为什么会有这种情况,有没有什么办法可以保持数据写入后重启设备蓝牙依旧正常
感谢
ch579m
蓝牙键鼠设备,蓝牙连接
蓝牙连接状态下修改 并写入 dataFlash 成功
关闭后重新打开设备 蓝牙连接就连不上了 报错0x13
电脑蓝牙删除设备 重新添加蓝牙设备后就正常了(有时候需要关闭蓝牙后再开)
求解为什么会有这种情况,有没有什么办法可以保持数据写入后重启设备蓝牙依旧正常
感谢
在使用蓝牙功能的时候可以查看是否开启了绑定功能,绑定会占用dataflah的最后一段地址作为存放信息用。
默认demo占用了dataflash2K中的后1K作为存储信息使用。因此可以使用前1K作为自定义信息的存放。
请问怎么查看是否开启了绑定功能呢? 另外往dataFlash写入前擦除是不是就会把这些信息给删除掉?
也没办法部分删除吧
求教
是指SNV功能吗?
默认HID_MOUSE是开启bond。
避开SNV区域的dataflash。
查看绑定数量:
请问怎么避开啊?
写入之前不是都要擦除吗?
先把数据取出来再写入?
dataflash有2K,你操作前面那个1K,不要操作后面那个1K。因为后面那个1K已经作为SNV信息存放了,已经被占用了。
如果无法确定dataflash被使用的空间,可以直接用isp工具进入boot,能读到dataflash的数据。
这是我设置的蓝牙SNV地址
蓝牙连接后 读取的dataFlash数据是
看着是对的?
然后我测试执行了
FlashBlockErase
方法来自ch57x_flash.c
执行成功
再次读取数据
FlashBlockErase 不是仅擦除512B吗?
就没有了? ?全局只有这个地方执行了这个操作?
请问是哪一步出问题了? 求解?
尝试后问题已经解决
前面的问题是我别的地方有写入 使用了例程的
writeDataFlash
导致了全部的覆写
替换
FlashBlockErase
和
FlashWriteBuf
实现了512B的写入 并且不影响蓝牙绑定数据
感谢版主前面的答疑~