咨询一个583 EVT包中HID KEYBOARD例子中Battery Service的问题

最近在看583 EVT包中keyboard的例子,一直没弄明白Battery Service中的Battery Level数据是怎么读出来的?细节如下:

1image.png

----------KEY board例子中手机读取到的数据是14,也就是0x14, 十进制正好是20.

----------按照我的理解,手机读取蓝牙芯片数据,芯片执行程序battReadAttrCB(),具体应该是执行tmos_memcpy( void *dst, const void *src, uint32_t len )函数。

----------实际程序中并未执行toms_memcpy() 函数,那么电池数据(pValue[0])是通过那个函数发出来的,十分困惑。

1image.png

这里的tmos_memcpy的作用和memcpy类似,只是一个赋值的函数,和pValue[0] = battLevel是一样的,也就是给pValue赋值,进入到读回调中,主机读取的就是pValue中的内容。


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