Хранить и извлекать конкретные данные из последовательного - PullRequest
0 голосов
/ 04 мая 2018
if(mySerial.available()){
    size_t len = mySerial.available();
    uint8_t sbuf[len];
    mySerial.readBytes(sbuf, len);
    //push UART data to all connected telnet clients
    for(i = 0; i < MAX_SRV_CLIENTS; i++){
      if (serverClients[i] && serverClients[i].connected()){
        serverClients[i].write(sbuf, len);
        delay(1);

Я получаю данные из порта UART с этим кодом и отправляю напрямую клиентам telnet. Поскольку я получаю шестнадцатеричный код Modbus:

10 03 02 01 1F 04 1F

Мне нужно извлечь 4-ю и 5-ю пару 011F и отправить только это как десятичное число в TCP.

Я понял, что должен хранить его в строке или массиве? А затем извлеките данные из этого, но, поскольку у меня нет общего конца конца строки, и мои числа меняются (но сохраняют формат).
Я понятия не имею, с чего начать. Я пытался найти в Интернете, но я просто застрял и мне нужна помощь.

Может кто-нибудь подсказать мне, где искать или сформировать код для этого, и попытаться объяснить логику того, что он сделал.

Так как я делаю это на ESP8266, я пытаюсь сделать это простым.

...