用C#不能从串口读出数据或读出的数据是写入的命令?
我用vs2005的c#写了一个SerialPort类应用的代码,但是从串行端口读出的数据是我写入的命令,而不是期望的写入“at”,返回“ok”,经理让我
先关闭指令回显,即先发送“at E0”命令,然后再发送“at”,但是这样做了以后读数据的时候程序就死在那个地方了,谁能说说怎么回事啊?帮我这个忙!!!
private void ConnectPortButton_Click(object sender, EventArgs e)
{
try
{
sp = new SerialPort("COM1");
sp.ReadTimeout = 10000;
sp.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void SendButton_Click(object sender, EventArgs e)
{
try
{
sp.Write(textBox1.Text);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void ReceiveButton_Click(object sender, EventArgs e)
{
try
{
string text=null;
char[] buffer = new char[10];
sp.Read(buffer,0,6);---程序执行到这里就停了,卡住了
for (int i = 0; i < buffer.Length; i++)
{
text += buffer[i];
}
textBox2.Text = text;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
先关闭指令回显,即先发送“at E0”命令,然后再发送“at”,但是这样做了以后读数据的时候程序就死在那个地方了,谁能说说怎么回事啊?帮我这个忙!!!
private void ConnectPortButton_Click(object sender, EventArgs e)
{
try
{
sp = new SerialPort("COM1");
sp.ReadTimeout = 10000;
sp.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void SendButton_Click(object sender, EventArgs e)
{
try
{
sp.Write(textBox1.Text);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void ReceiveButton_Click(object sender, EventArgs e)
{
try
{
string text=null;
char[] buffer = new char[10];
sp.Read(buffer,0,6);---程序执行到这里就停了,卡住了
for (int i = 0; i < buffer.Length; i++)
{
text += buffer[i];
}
textBox2.Text = text;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
...全文
相关推荐
c# 读取串口写入数据库
用c#编写的winform程序,读取串口的数据,并写入本地的sqlite数据库,同时写入SQLServer网络数据库,这个过程都是多线程的。
掌握 C# 串口编程:如何高效读取与写入串口数据
本文介绍了使用C#进行串口通信编程的核心技术。主要内容包括:串口通信的基本概念(波特率、数据位等参数配置)、C#中SerialPort类的基础操作(打开/关闭串口、数据读写),以及高效通信的实现方法。重点讲解了通过DataReceived事件进行异步数据读取、使用Write/WriteLine方法写入数据,并推荐使用缓冲区队列处理机制来避免线程阻塞。文章还提供了多个代码示例,帮助开发者掌握C#串口编程的关键技术,适用于嵌入式系统、工业自动化等需要稳定高效串口通信的场景。
C# 串口通信(彻底解决C#串口通信中的数据丢失问题)
以网上某位大虾的源码为版本,沿用了其可用的代码部分。对其余欠妥部分进行了改造。不要资源分,是大家不用为积分而烦恼。出来混都不容易,希望大家相互照应!
C#密码写入与读出加密狗
C#密码写入与读出加密狗,使用的是串口通讯技术,完成读写操作,对加密狗BUFFER的操作
串口通信 实时解析或发送串口的数据包
通过C#实现串口通信,里面的代码展示了如何监听计算机中的串口,解析数据或者发送数据,做串口开发的可以参考


