外部デバイスからバッファを読み取る次の関数を作成しました(別の関数でシリアルポートを開きました)。ノンストップの結果が必要なため、これを for ループにしています。
int get_data(int fd)
{
int n;
for (;;)
{
char buff[1000];
n=read(fd,buff,1000);
printf("%s\n\n", buff);
sleep(1);
memset(buff, 0, 1000);
}
}
バッファは、次のように 10 秒ごとに異なる結果を返します。
machine 1:vol=3.44V, str=10.2
machine 2:vol=3.23V, str=10.00
10秒後
machine 1:vol=3.24V, str=11.2
machine 1:vol=3.27V, str=11.4
等
私の質問は、すべての vol 値を配列に保存し、2 番目の配列に str 値を保存するにはどうすればよいですか? 次のステップとして、これらのデータを配列から mysql データベースに保存します。strncpy を使用して文字列を新しい配列にコピーすることを考えましたが、それは良い考えではないと思います。例えば:
char vol[10];
strncpy(vol, buff + 15, 4);
printf("%s\n", vol);
あなたは私に何を提案しなければなりませんか?