シリアル ポート経由で Arduino からいくつかの値を取得しています。データの形式は次のとおり
"value1,value2,value3\r"
ですstring
。
例:"4.5,550.0,0.02\r"
値を受け取って分離することはできますが、それらを変換しようとするとdouble
、次の例外が発生します
「入力文字列の形式が正しくありませんでした」`.
double Battery = 0, Voltage = 0, Current = 0;
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string data = serialPort1.ReadLine();
string bv = data.Substring(0, data.IndexOf(",") - 1);
data = data.Substring(data.IndexOf(",") + 1);
string v0 = data.Substring(0, data.IndexOf(",") - 1);
data = data.Substring(data.IndexOf(",") + 1);
string i = data;
double batteryVoltage = Convert.ToDouble(bv);
double V0 = Convert.ToDouble(v0);
double I = Convert.ToDouble(i);
Battery = batteryVoltage;
Voltage = V0;
Current = I;
}