Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Problema con QString
QtWS25 Last Chance

Problema con QString

Scheduled Pinned Locked Moved Solved Italian
6 Posts 2 Posters 1.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • PollyP Offline
    PollyP Offline
    Polly
    wrote on last edited by
    #1

    Dunque , sto realizzando un programmino semplice per la rilevazione della temperatura e umidità con arduino. Ricevo correttamente i dati da arduino, ma li visualizzo a schermo nella Qstring piu o meno così:

    ""
    "52" 
    " 22"
    "5 "
    "2 22"
    ""
    "52 2"
    "2"
    

    Ora anche constrollando con il debug la situazione non mi sembra diversa.
    Come potrei fare per averli sulla stessa linea per poi processare la stessa stringa e ottenere i valori da visualizzare su un grafico?

    Inserisco anche il blocco di codice in cui ho scritto la lettura dei valori :

    arduino->waitForReadyRead(500);
                    while (c != b){    //imposto una condizione che mi crea un loop continuo 
                    arduino->waitForReadyRead(2000); //imposto la lettura ogni 2 secondi 
                    lettura.append(arduino->readAll()); //leggo il contenuto della seriale e la metto nella stringa
                    lettura.remove("\r",Qt::CaseSensitive); // elimino i caratteri di formattazione che sono presenti nella stringa
                    lettura.remove("\n",Qt::CaseSensitive);
                    qDebug() << lettura; //visualizzo il tutto 
                    lettura.clear(); //pulisco e ricomincio
                    }
    
    1 Reply Last reply
    0
    • VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by
      #2

      loop infiniti e readAll senza condizioni sono la ricetta per il disastro.

      Come manda i dati il tuo arduino? come stringhe? comes sono codificate (Ascii, utf8, etc)?

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      1 Reply Last reply
      1
      • PollyP Offline
        PollyP Offline
        Polly
        wrote on last edited by
        #3

        li manda come codici Ascii
        ho letto nelle specifiche ,
        mentre la libreria del sensore usa le seguenti caratteristiche

        DHT_Unified::DHT_Unified(uint8_t pin, uint8_t type, uint8_t count, int32_t tempSensorId, int32_t humiditySensorId):
          _dht(pin, type, count),
          _type(type),
          _temp(this, tempSensorId),
          _humidity(this, humiditySensorId)
        
        1 Reply Last reply
        0
        • VRoninV Offline
          VRoninV Offline
          VRonin
          wrote on last edited by VRonin
          #4

          dichiara QByteArray m_arduinoData; nella parte private: poi nel costruttore aggiungi

          QObject::connect(arduino,&QIODevice::ReadyRead,this,[this,arduino]()->void{
          m_arduinoData.append(arduino->readAll());
          for(int i=0;i<m_arduinoData.size();++i){
          if(QChar(m_arduinoData.at(i)).isDigit()) continue;
          if(i>0) qDebug() << m_arduinoData.left(i);
          if(i+1==m_arduinoData.size()) m_arduinoData.clear();
          else m_arduinoData = m_arduinoData.mid(i+1);
          i=-1;
          }
          });
          

          Probabilmente sarebbe meglio usare QTextStream ma non so come sono formattati i tuoi dati quindi ho dovuto arrangiarmi

          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
          ~Napoleon Bonaparte

          On a crusade to banish setIndexWidget() from the holy land of Qt

          1 Reply Last reply
          1
          • PollyP Offline
            PollyP Offline
            Polly
            wrote on last edited by
            #5

            perfetto più tardi lo provo poi ti fo sapere

            1 Reply Last reply
            0
            • PollyP Offline
              PollyP Offline
              Polly
              wrote on last edited by Polly
              #6

              Ciao scusami per il ritardo ho avuto mille cose da fare .
              Perfetto ha funzionato. Fa una stringa unica e a quel punto posso gestirla per mandare i grafici.
              Grazie mille.

              1 Reply Last reply
              0

              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved