特定のボックスがチェックされているときにコンマで区切られた変数をストリーミングするのに問題があります。変数に変更がない場合でも、データストリームがarduinoに絶えず流れるようにしたい。私が何かを近づけることができた唯一の時間は、私は無限ループにこだわってしまった。ここに私が持っている現在のコードですが、どんな助けも高く評価されます。Arduinoにシリアルデータを常時ストリーミングする
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Timers;
namespace feeder3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void streamBox_CheckedChanged(object sender, EventArgs e)
{
int a = 1;
int b = 2;
int c = 3;
bool state = streamBox.Checked;
while (state == true)
{
System.Console.WriteLine("{0},{1},{2}", a,b,c);
}
}
private void stopStreamBtn_Click(object sender, EventArgs e)
{
streamBox.Checked = false;
}
}
}
シリアルポートによって送信されるデータが実際に送信するために時間がかかるため - 例えば9600ボーでは1バイトあたり約1ミリ秒ですが、write関数を呼び出すとすぐにバッファリングされ、プログラムと並列に送信されます。データが送信されます。あなたは書くための呼び出しを遅らせるべきです。これを行う1つの方法は、タイマーを使用し、その中のwrite関数を呼び出すことです。または、送信バッファを空にしてからwrite関数を再度呼び出す前にテストしてください。 – barny