照会時に番号を送信することになっているUSBデバイスがあります。
私が持っている指示は次のとおりです。
- USBポートをPCに接続し、仮想シリアルポートを9600ボー、8データビット、パリティなし、1ストップビットで開きます。
- ESCを送信します(文字27だと思います)
- 確認応答として「>」が表示されます
- 「c」を送信すると、カウントの後に「<」が続きます
私はどこを見ても、ユニットからの応答を得る方法がわからないので、私が読んでいるものを理解してはいけません。
- 「ESC」キーを正しく送信していますか?
- 応答を適切に照会していますか?
- 想定される応答を正しく表示していますか?
libusb
調査する必要があるものはありますか?以前のバージョンの.NET用のライブラリだと思いました。
前もって感謝します。
これが私のコードです:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace SerialPortTest
{
public partial class Form1 : Form
{
System.IO.Ports.SerialPort counter = new SerialPort("COM5", 9600, Parity.None, 8, StopBits.One);
public Form1()
{
InitializeComponent();
}
private void btnWrite_Click_1(object sender, EventArgs e)
{
// Get a list of serial port names.
string[] ports = System.IO.Ports.SerialPort.GetPortNames();
lblOut.Text = ("The following serial ports were found:");
// Display each port name to the console.
txtOut.Clear();
foreach (string port in ports)
{
txtOut.Text = (port);
}
}
private void Form1_KeyDown_1(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.A)
{
//configuring the serial port
//serialPort1.PortName = "COM5";
//serialPort1.BaudRate = 9600;
//serialPort1.DataBits = 8;
//serialPort1.Parity = Parity.None;
//serialPort1.StopBits = StopBits.One;
//Open the serial port
serialPort1.Open();
//Write data to serial port
serialPort1.Write(Keys.Escape.ToString());
//Read data from serial port
//string[] number;
//counter.DataReceived += counter.ReadExisting();
//counter.ReadLine();
//new SerialDataReceivedEventHandler(counter_DataReceived);
txtOut.Text = counter.ReadLine();
//Close the serial port
serialPort1.Close();
}
}
//private static SerialDataReceivedEventHandler counter_DataReceived(object sender, SerialDataReceivedEventArgs e)
//{
// //throw new NotImplementedException();
// SerialPort sp = (SerialPort)sender;
// string indata = sp.ReadExisting();
// return (sp.ReadExisting());
//}
}
}