Cypress技术william hill官网
直播中

周莹

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

使用多个数据字段时是如何单独管理的

到目前为止,我所有的自定义特性都有一个数据字段,例如一个UtiT8。当使用多个数据字段时,它们是如何单独管理的?下面是更新特性的代码:
空更新特性(UTI8*数据,UTIN 16 LUN,UIT16 16)
{
/*'句柄'存储数据参数*/
CyBLY-GATHAL
/*用新的值更新句柄*/
FACTHORACLE = FACTHART;
Val.Val.=数据;
把手;
*更新属性值。这将允许
*客户端设备读取现有值
*特性*/
CyByggAgsRead属性值(&
错误的,
CysLy-Con句柄,
CysLyggtAdBdPeer-Surl启动;
/*向接收的写入请求发送响应。*/
聚伞花序柄;
}
谢谢
丰富的

以上来自于百度翻译


     以下为原文
  Up until now all my custom characteristics have had a single data field, e.g. one uint8.  When using multiple data fields, how are they individually managed?  Here is my code that updates a characteristic:

void Updatecharacteristic(uint8* Data, uint16 len, uint16 attrHandle)
{
/* 'Handle' stores data parameters */
    CYBLE_GATT_HANDLE_VALUE_PAIR_T Handle;
    /* Update handle with new values */
    Handle.attrHandle = attrHandle;
    Handle.value.val = Data;
    Handle.value.len = len;
    /* Update the attribute value. This will allow
    * Client device to read the existing values over
    *  characteristic */
    CyBle_GattsWriteAttributeValue(&Handle,
    FALSE,
    &cyBle_connHandle,
    CYBLE_GATT_DB_PEER_INITIATED);

    /* Send the response to the write request received. */
    CyBle_GattsWriteRsp(cyBle_connHandle);
}

Thanks

Rich

回帖(4)

周莹

2018-12-17 16:34:57
我猜想所有的数据字段根据类型而被连接成一个数据/数字。这些字段不能单独访问。
这是正确的吗?
丰富的

以上来自于百度翻译


     以下为原文
  I am guessing that all the data fields are concatenated into one data/number depending on the types.  That the fields are not individually accessible. 
 
Is this correct?
 
Rich
举报

刘辉

2018-12-17 16:49:55
你好,
无论使用什么数据类型,都应该转换为UTI8类型。例如,如果必须发送4个元素的UIT16数组[],则需要将每个单词分成两个UIT8字节(高端和低端)。因此,该数组被转换成长度为8的UIT8阵列并发送。
当做,
- Madhu Sudhan

以上来自于百度翻译


     以下为原文
  Hi,
 
Whatever be the datatype used, it should be converted into uint8 types. For example if you have to send an uint16 array[ ] of 4 elements, you need to separate each word into two uint8 bytes (high end and lower end). Thus this array is converted into a uint8 array of length 8 and sent.
 
Regards,
- Madhu Sudhan
举报

周莹

2018-12-17 17:05:29
引用: dfzvzs 发表于 2018-12-17 10:24
你好,
无论使用什么数据类型,都应该转换为UTI8类型。例如,如果必须发送4个元素的UIT16数组[],则需要将每个单词分成两个UIT8字节(高端和低端)。因此,该数组被转换成长度为8的UIT8阵列并发送。
当做,

谢谢Madhu。因此,所有的特征都只是一个字节串,GUI中的“字段”只是为了方便而存在的。不同的数据类型的多个字段将作为一个字节串来呈现,并由开发人员来解析字节。对吗?
丰富的

以上来自于百度翻译


     以下为原文
  Thanks Madhu.  So all characteristics are just a single string of bytes and the "fields" in the gui are just there for convenience?  Multiple fields of varying data types will presented as a string of bytes and it is up to the developer to parse the bytes.  Is that correct?
 
Rich
举报

黎歆俭

2018-12-17 17:23:10
引用: xcwykj 发表于 2018-12-17 10:40
谢谢Madhu。因此,所有的特征都只是一个字节串,GUI中的“字段”只是为了方便而存在的。不同的数据类型的多个字段将作为一个字节串来呈现,并由开发人员来解析字节。对吗?
丰富的

对。如果您希望数据更易于解析,可以通过将数据分割成多个特性来澄清这一点,因为这允许使用句柄区分数据类型/用法。数据字节本身将始终可用/读/写为Unt8字节数组到/从数据库代码。

以上来自于百度翻译


     以下为原文
  Yes. If you want the data to be easier to parse, you can clarify that by having the data split into multiple characteristics, as this allows using handles to differentiate data types/usage. The data bytes themselves will always be available/read/written as uint8 byte arrays to/from the database code.
举报

更多回帖

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