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
Qt 6.11 is out! See what's new in the release blog

Problema con QString

Scheduled Pinned Locked Moved Solved Italian
6 Posts 2 Posters 1.7k 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