みなさん、こんにちは。私はここで初めてです。このWebサイトについて、本当に役立つと聞いています。あなたが私を助けてくれることを願っています!
私は非常に単純なプログラムを持っています。その唯一の目的は、シリアルポートから読み取り、それをC#のコンソールウィンドウに2000回印刷することです。
マイクロコントローラーの可変抵抗器を回しているだけです。
以下はコードです
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;
namespace Testing_serial_v3._0
{
class Program
{
static void Main(string[] args)
{
string buff;
SerialPort port = new SerialPort("COM4", 9600, Parity.None, 8, StopBits.One);
port.Open();
for (int i = 0; i < 2000; i++)
{
buff = port.ReadLine();
Console.WriteLine(buff);
//Console.ReadLine();
}
}
}
}
しかし、このコードでは面白いことが起こっています。上記のコードに示されているようにコンソールreadlineがコメント化されると、可変抵抗器のノブを回すとポートからの値が変化します。つまり、これは正常に機能していることを意味します。一方、readlineを実行して、各値の後にキーを押す必要がある場合、ポートは現在の値を読み取り、ノブを変更してEnterキーをもう一度押しても、値はリセットされていないかのように最初のままになります。まったく?
ポートがリセットされるように、他のコマンドラインを含める必要がありますか?
あなたが私の問題とあなたが知る必要がある他の質問を理解することを願っています。私が本当にこの問題をできるだけ早く修正する必要があることを躊躇しないでください。よろしくお願いします