Skocz do zawartości

Odczytanoie tablicy Arduino >>


robo1973

Pomocna odpowiedź

Witam !!

Wysyłam FTP (soced) bytes2send = bytes(str(E_Value) + '\0', 'ascii')

Teraz po Lan chcę to odczytać w Arduino+ W5100

Łącze się z serwerem, serwer odczytuje liczby zamiast wysłanego ciągu

void loop() {
  // check for any new client connecting, and say hello (before any incoming data)
  EthernetClient newClient = server.accept();
  if (newClient) {
    for (byte i=0; i < 8; i++) {
      if (!clients[i]) {
        Serial.print("We have a new client #");
        Serial.println(i);
        newClient.print("Robo_FTP, client number: ");
        newClient.println(i);
        // Once we "accept", the client is no longer tracked by EthernetServer
        // so we must store it into our list of clients
        clients[i] = newClient;
        break;
      }
    }
  }

  // check for incoming data from all clients
  for (byte i=0; i < 8; i++) {
    if (clients[i] && clients[i].available() > 0) {
      // Odczyt !! read bytes from a client
      byte buffer[1024];
        
      
      //int count = clients[i].read(buffer,1024);
      int count = clients[i].read() == '\n';
       Serial.println(count);
       //delay(1000);
      
      // write the bytes to all other connected clients
      for (byte j=0; j < 8; j++) {
        if (j != i && clients[j].connected()) {
          clients[j].write(buffer, count);
          
        }
      }
    }
  }

Jak zmodyfikować program żeby poprawnie odczytać ciąg wysyłany ?

Dziękuję i pozdrawiam !!!

Edytowano przez robo1973
Link do komentarza
Share on other sites

#include <iostream>

using namespace std;

int main()
{
    uint8_t array[] = {0x74, 0x65, 0x73, 0x74, 0x0};
    
    char* text = reinterpret_cast<char*>(array);
    
    cout << text << endl;

    return 0;
}

Przykład 😛 Po prostu użyj reinterpret_cast na Twojej tablicy znaków (musisz pamiętać, by tablica zawierała wyłącznie znaki tekstowe i kończyła się znakiem NUL (0x0)).
 

A jak chcesz robić to dla każdego odczytanego znaku/liczby to po prostu zwykły typecast do char.

Edytowano przez H1M4W4R1
Link do komentarza
Share on other sites

(edytowany)

tak wygląda odczyt

int count = clients.readBytesUntil('\0' ,status,sizeof(status));

Jak będzie wyglądał zapis ?

 

Edytowano przez robo1973
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.