大家好,我是新来的,我听说过很多关于这个网站的信息,它真的对你有帮助。希望你能帮助我!
我有一个非常简单的程序,它的唯一目的是从串行端口读取并在 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,该值仍将保持第一个,就好像它没有重置一样有吗?
您是否必须包含任何其他命令行才能重置端口?
希望您了解我的问题以及您需要了解的任何其他问题,请不要犹豫,我真的需要尽快解决此问题。非常感谢和问候