存储并从串行中提取特定数据

时间:2018-05-04 17:49:17

标签: c++ arduino esp8266

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并仅发送它作为a   十进制数到TCP。

我知道我必须将它存储到字符串或数组中吗?然后从中提取数据,但由于我没有共同的换行符结束并且我的数字发生了变化(但保留了格式) 我不知道从哪里开始。我试图在网上找到,但我只是陷入困境,需要帮助。

有人可以指导我查看或构建代码,并尝试解释他所做的事情的逻辑。

由于我在ESP8266上这样做,我试图保持简单。

0 个答案:

没有答案