コマンド「POS;」を使用してモーターの位置を取得したいのですが、「a ⌂▲ yI ° y」という出力が得られます。数値を取得できる場合はどうなりますか? それから時々私は空の答えを受け取りますシリアルポート経由で出力を得るには時間がかかると答えました。完全な出力が表示されるまで待機するには、コードに何を追加する必要がありますか?
手動コントローラ(更新マニュアル)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
SerialPort sp = new SerialPort();
sp.PortName = "COM1";
sp.BaudRate = 9600;
sp.Open();
sp.Encoding = System.Text.Encoding.GetEncoding(28591);
if (sp.IsOpen)
{
sp.Write("ENA;");
sp.Write("POS;");
string msgPos = sp.ReadExisting();
Console.WriteLine(msgPos);
sp.Write("OFF;");
sp.Close();
Console.ReadKey();
}
}
}
}