robo1973 Napisano Czerwiec 23, 2022 Udostępnij Napisano Czerwiec 23, 2022 (edytowany) 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 Czerwiec 23, 2022 przez robo1973 Cytuj Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Czerwiec 23, 2022 Udostępnij Czerwiec 23, 2022 (edytowany) #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 Czerwiec 23, 2022 przez H1M4W4R1 Cytuj Link do komentarza Share on other sites More sharing options...
robo1973 Czerwiec 23, 2022 Autor tematu Udostępnij Czerwiec 23, 2022 (edytowany) tak wygląda odczyt int count = clients.readBytesUntil('\0' ,status,sizeof(status)); Jak będzie wyglądał zapis ? Edytowano Czerwiec 23, 2022 przez robo1973 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!