Cypress技术william hill官网
直播中

成尔秩

7年用户 965经验值
私信 关注
[问答]

如何写入自定义特征值?

在外围设备/服务器BLE上,我从一个传感器获取一个值,并且我想把这个值存储在一个自定义特性上。CyBygGATTWREST属性值似乎是一个很好的函数,它需要一个连接处理程序作为参数,但是我想存储这个值,即使没有人(中央/客户端)连接到BLE外围设备。是否可能,或者属性值只能在连接时更新?如何做?
谢谢,法布里齐奥

回帖(4)

成尔秩

2019-10-25 10:46:30
好吧,我自己解决了。这里是我的解决方案:我希望它会对某些人有用。这是不容易的,因为文档不清楚,解释的例子很差,我在BLE开发上是新的。不管怎样,我为我的自定义特性值写了一个简单的函数。我使用FLUAT32(4字节长)用于自定义字符,因此需要根据需要修改功能。
&代码;
ValueStyMyCuto属性值(FulAT32 Valor,UTIN 16处理程序){CyByLyGATHyrEr.CoEdIt ApigaTeAlcDe码=0;
CyLabyGalthAuthLeValueApple,HoalLealValuePoAIR;HoalLealPosial.Value.Value:AuthValuePaul.Value.Le= Sigeof(Valor);HoalLealValpA.AtHrave=处理程序;/*注册GATT服务器*/ApigaTalcDe= CyLygAgTraceWruteTraci数据库中的服务更改BuTeValk(AND;Houl ValuePoAIR,0U,NULL,CyLaygGATHYBJBROLARYARY启动);如果(APIGATALDECODE)!= 0){dggPrimtf(“服务更改的属性DB写入失败rn”);}{{dggPrimtf(“服务更改属性dB写入成功rnn”));}
/Clult//gt;CyLygGasWruteAtestTealValueSo()函数被调用为null作为连接处理程序,这是因为我想在没有任何连接的情况下初始化属性值。因为我在本地GATT数据库中运行(从服务器端,而不是从远程客户端),参数CyBuygGATHYBJBROLYARY启动被用作第四值。注意CyBLY-GATHAL程序的正确初始化。
法布里齐奥
举报

苏醒

2019-10-25 11:05:34
引用: wanyou2345 发表于 2019-10-25 10:46
好吧,我自己解决了。这里是我的解决方案:我希望它会对某些人有用。这是不容易的,因为文档不清楚,解释的例子很差,我在BLE开发上是新的。不管怎样,我为我的自定义特性值写了一个简单的函数。我使用FLUAT32(4字节长)用于自定义字符,因此需要根据需要修改功能。
&代码;
ValueStyMyCuto属性值(FulAT32 Valor,UTIN 16 ...

谢谢张贴。如果您将NULL作为连接句柄传递,并且更新数据库不会失败,这将是有益的。你知道CybLygGATScript属性值的最后一个参数的两个选项之间的区别是什么吗?
CysLyggtdBdLaCalyL1启动和CyBLY-GATTH?
举报

黎歆俭

2019-10-25 11:19:41
我相信最后一个参数的两个选项是标记来指示允许更新数据库值的情况(我可能错了)。
如果两者都被设置,那么它将总是写入它,如果只有其中一个被设置,那么它将只写它,如果蓝牙连接的相应一侧发起了写。
至少,从其他地方的文件和william hill官网 帖子中可以看出这一点。
举报

黎歆俭

2019-10-25 11:43:47
谢谢YSSU,这消除了我对不同旗帜的困惑。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分