ZHCACZ5 August 2023 CC2564C
以下函數(shù)負(fù)責(zé)向存在連接的遠(yuǎn)程設(shè)備發(fā)送多個字符。該函數(shù)接收一個參數(shù),該參數(shù)指示要傳輸?shù)淖止?jié)數(shù)。此函數(shù)在成功執(zhí)行時返回零,而在出現(xiàn)錯誤時返回負(fù)值。根據(jù) SPPLE 的設(shè)備角色是服務(wù)器還是客戶端,調(diào)用的 API 函數(shù)為 GATT_Handle_Value_Notification 或 GATT_Write_Without_Response_Request;這兩個函數(shù)分別通知接收額度特性或向傳輸額度特性發(fā)送無響應(yīng)的寫入數(shù)據(jù)包。
LESend 需要兩個參數(shù)。第一個是您要發(fā)送到的設(shè)備的遠(yuǎn)程藍(lán)牙地址。第二個是要發(fā)送的字節(jié)數(shù)。該值必須大于 10。
GATT_Handle_Value_Notification(BluetoothStackID, SPPLEServiceID, ConnectionID, SPPLE_TX_CHARACTERISTIC_ATTRIBUTE_OFFSET, (Word_t)DataCount, SPPLEBuffer)
或者
GATT_Write_Without_Response_Request(BluetoothStackID, ConnectionID, DeviceInfo->ClientInfo.Rx_Characteristic, (Word_t)DataCount, SPPLEBuffer)
int BTPSAPI GATT_Handle_Value_Notification(unsigned int BluetoothStackID, unsigned int ServiceID, unsigned int ConnectionID, Word_t AttributeOffset, Word_tAttributeValueLength, Byte_t *AttributeValue)
或者
int BTPSAPI GATT_Write_Without_Response_Request(unsigned int BluetoothStackID, unsigned int ConnectionID, Word_t AttributeHandle, Word_t AttributeLength, void*AttributeValue)
第一個 API 函數(shù)用于向遠(yuǎn)程 GATT 客戶端發(fā)送句柄/值通知。此函數(shù)的第一個參數(shù)是本地藍(lán)牙協(xié)議棧的 ID。第二個參數(shù)是發(fā)送句柄/值通知的服務(wù)的 ID。第三個參數(shù)指定接收句柄/值通知的連接的 ID。第四個參數(shù)指定正在通知的屬性在服務(wù)表(通過調(diào)用 GATT_Register_Service() 函數(shù)注冊)中的偏移量。第五個參數(shù)是正在通知的屬性值的長度(以字節(jié)為單位)。第六個參數(shù)是指向要通知的實際屬性值的指針。此函數(shù)返回一個非負(fù)值,該值表示已通知的屬性值的實際長度;如果出現(xiàn)錯誤,則返回負(fù)的錯誤代碼。
提供第二個 API 函數(shù)是為了能夠針對指定的屬性向遠(yuǎn)程設(shè)備執(zhí)行無響應(yīng)的寫入請求。該函數(shù)的第一個參數(shù)是本地藍(lán)牙協(xié)議棧的 ID,依次后跟所連接遠(yuǎn)程設(shè)備的連接 ID、要寫入的屬性的句柄、要寫入的值數(shù)據(jù)的長度(以字節(jié)為單位)以及要寫入的實際值。此函數(shù)返回成功寫入的字節(jié)數(shù)或負(fù)的錯誤代碼。