Как выполнять математические операции с необработанными данными, полученными через BLE on_write? - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь выполнить простое умножение и сложение данных, отправленных через BLE.
Как показано ниже, строка:

evt.duty_cycle = p_evt_write *3 +10;

* 3 и +10 выдает ошибку:

invalid operands to binary * (have 'const ble_gatts_evt_write_t * {aka 
  const struct <anonymous> *}' and 'int')

Я знаю, что типы данных должны быть разными, но я не знаю, как с ними работать.Может кто-нибудь знакомый с этим, пожалуйста, объясните, как можно сделать операцию?

static void on_write(ble_cus_t * p_cus, ble_evt_t const * p_ble_evt)
{
    ble_gatts_evt_write_t const * p_evt_write = &p_ble_evt- 
    >evt.gatts_evt.params.write;
    ble_cus_evt_t evt;

    if (p_evt_write->handle == p_cus->custom_value_handles.value_handle)
    {
        nrf_gpio_pin_toggle(LED_4);

        if(p_evt_write->data != NULL)
        {
            evt.evt_type = BLE_CUS_EVT_SERVO;

            evt.duty_cycle = p_evt_write * 3 +10;

            //Print the caclulated duty cycle to the debug terminal
            NRF_LOG_INFO("Duty Cycle: %d \r\n", evt.duty_cycle); 

            // Call the application event handler.
            p_cus->evt_handler(p_cus, &evt);
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...