私はQtに取り組んでいますが、私の人生の間は私は全く修正できません。私は自分のコードに多くの異なる組み合わせを試しましたが、それでも私が探している出力を私に与えていません。私は誰かが私を助けることを望んでいます。シリアル入力を読み込んで別の変数に分割する
QStringList buffer_split = serialBuffer.split(","); // split the serialBuffer string, parsing with ',' as the separator
// Check to see if there less than 3 tokens in buffer_split.
// If there are at least 3 then this means there were 2 commas,
// means there is a parsed temperature value as the second token (between 2 commas)
if(buffer_split.length() < 3){
// no parsed value yet so continue accumulating bytes from serial in the buffer.
serialData = arduino->readAll();
serialBuffer = serialBuffer + QString::fromStdString(serialData.toStdString());
serialData.clear();
}else{
// the second element of buffer_split is parsed correctly, update the temperature value on temp_lcdNumber
serialBuffer = "";
qDebug() << buffer_split << "\n";
parsed_data = buffer_split[1];
}
上記の溶液は、順番に私のようなシリアルポートを介して送信される値を読んでいます、私のために働いています
上記0,0,0,0,0,0
をparsed_data
は、シリアルポートから情報を読み取る方法です、 どちらが正しい。
私が抱えている問題は、それを分割し、別の変数に格納してif文を開始することです。これまでのところ、私はそれを働かせるように見えません。
誰も私を助けることができる場合、私はあなただけint num1 = buffer_split[0].toInt(); int num2 = buffer_split[1].toInt();
を必要とするすべて、
あなたは
私はあなたの質問には明確ではありません。 parsed_data = buffer_split [1]で書いたように、個々の値にアクセスして保存することができます。あなたはどこにいるのですか? –
私がbuffer_split [2]のように格納しようとすると、うまくいきません。このようなものを探しています。私はこれが少し理解しやすくなることを願っています。例の配列の送信は45,0,67,0,0,13です、私は変数に格納される各番号が必要です。 int num1 = parsed_data [0]は45、int num2 = parsed_data [1]は0、int num3 = parsed_data [2]は6723になります。 –