我试图使用C#中的串口从RFID读取/写入数据。 我已经使用了下面的代码,但它不起作用。 我已经从手册中写了一个命令,但收到的数据完全不同:
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
namespace TagDetector
{
public partial class Form1 : Form
{
SerialPort mySerialPort;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
mySerialPort = new SerialPort("COM1", 115200, Parity.None, 8, StopBits.One);
mySerialPort.Open();
}
private void btnStart_Click(object sender, EventArgs e)
{
mySerialPort.Write("'CSE '<LF><CR>");
mySerialPort.DataReceived += mySerialPort_DataReceived;
}
void mySerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
System.Threading.Thread.Sleep(500);
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
Console.Write("Data Received:");
Console.WriteLine(indata);
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
mySerialPort.Close();
mySerialPort.Dispose();
}
}
}
我已尝试将<LF><CR>
替换为Enviroment.NewLine
,\x0d\x0a
,\r\n
,但仍然无效。
我的应用程序收到Data Received:7?8?V7?7?7?7?7?7?7?
,就像回复一样。
每个字符之间是一个非打印字符:
我希望你能帮助我。 如果我的英语不好,谢谢,对不起。