Я пытаюсь установить значение int для характеристики в структуре Tyzen, и я имею в качестве возвращаемого значения параметр недопустимый. Я следовал этот учебник:Tizen bluetooth low energy invalid параметр error setting signed integer
https://developer.tizen.org/development/tutorials/native-application/network/bluetooth#gatt_setter
И это мой код:
ret = bt_gatt_client_create(remote_address, &client);
ret = bt_gatt_client_get_service(client, time_svc_uuid_16, &svc);
ret = bt_gatt_service_get_characteristic(svc, time_char_uuid_16, &chr);
ret = bt_gatt_characteristic_set_write_type(chr, BT_GATT_WRITE_TYPE_WRITE);
int data_output = 60;
ret = bt_gatt_set_int_value(chr, BT_DATA_TYPE_SINT32, data_output, 1);
if (ret == BT_ERROR_NONE)
{
dlog_print(DLOG_INFO, LOG_TAG, "bt_gatt_set_value success");
}
else if (ret == BT_ERROR_INVALID_PARAMETER)
{
dlog_print(DLOG_INFO, LOG_TAG, "BT_ERROR_INVALID_PARAMETER is failed : %d", ret);
}
else if (ret == BT_ERROR_OPERATION_FAILED)
{
dlog_print(DLOG_INFO, LOG_TAG, "BT_ERROR_OPERATION_FAILED is failed : %d", ret);
}
else if (ret == BT_ERROR_NOT_SUPPORTED)
{
dlog_print(DLOG_INFO, LOG_TAG, "BT_ERROR_NOT_SUPPORTED is failed : %d", ret);
}
else{
dlog_print(DLOG_INFO, LOG_TAG, "UNKNOWN bt_gatt_set_value is failed : %d", ret);
}
если я изменить это:
int data_output = 60;
ret = bt_gatt_set_int_value(chr, BT_DATA_TYPE_SINT32, data_output, 1);
для этого:
char char_value[1] = {1 + (rand()%100)};
ret = bt_gatt_set_value(chr, char_value, 1);
I не имеют никаких проблем. Но мне нужно отправить целое число со знаком
Кто-нибудь знает, что может быть проблемой?
Привет, Я столкнулся с аналогичной проблемой. Я хочу написать значение больше 1000. int char_value_v = 10000; ret = bt_gatt_set_int_value (chr, BT_DATA_TYPE_UINT32, char_value_v, 1); Это не записывает ожидаемое значение. Если я пишу 1000, он дает E8 03. Любые предложения? –
Привет, не могли бы вы открыть новый вопрос с большим количеством объяснений по поводу вашей проблемы? Немного кода, устройств и фреймворка. Каждая маленькая деталь может быть полезна для ее решения. Пришлите мне ссылку, когда она у вас есть. –