Ich habe eine Funktion, die uint8_t * akzeptiert, die eine Zeichenfolge sein soll. Ich möchte ein Double zu dieser Funktion senden. Ich habe diesen Code unten versucht, aber es funktioniert nicht.Convert double to uint8_t *
Aber dieser Code unten funktioniert, alles was ich will, ist die Zeichenfolge "90" durch eine doppelte Variable OBEN zu ersetzen.
static const char *data[6];
data[0] = "90";
static uint8_t *test;
test = (unsigned char *) data[dataCounter] ;
send_data(test);
Was meine ich nicht funktioniert ist, dass die Funktion send_data soll eine Schnur über Bluetooth mit einem Android-Handy senden. Wenn ich es wie den ersten Beispielcode mache, wird die Zeichenfolge korrekt übergeben.
Hinweis: Ich denke, es ist möglicherweise wegen der Unterschied in Datentypen, die an das zweite Argument übergeben wird. Die Funktion erwartet 3 Argumente.
static uint32_t send_data(uint8_t data[]){
return ble_nus_string_send(&m_nus, data, 5);
}
Dies ist die Funktion defintion:
uint32_t ble_nus_string_send (ble_nus_t * p_nus,uint8_t * p_string,
uint16_t length
)
Sie müssen mehr Daten schreiben Was meinst du mit „funktioniert nicht“? Was siehst du, was erwartest du? ng. –
Sie möchten vielleicht über 'sprintf()' lesen. Und die Grundlagen von C, während du dabei bist. – EOF
@EOF: Meine schlechte, verpasste die '*' –