C#串口通信问题
我看了网上的一些关于这个的文章,有个类是这样的:
http://blog.csdn.net/byeshuang/articles/471794.aspx
但我不会用这个类!(也不太明白)
在我的机子上有两个串口,COM1和COM2,两个相连.
请大侠们在看完了上面的那个网址后给我一段用上面的类实现的串口通信的代码.
(还有一个小问题,能不能用MSCOMm32.ocx控件,我的系统是WIN2000)
谢谢大家的帮忙!!!!!!!!!!!!!
附上我用那个类实现的代码!(没有错误就是没有结果!串口是好的,我用串口助手测过的)
private void writeMessage()
{
CommPort ss_port = new CommPort();
ss_port.PortNum = "COM1"; //端口号
ss_port.BaudRate = 9600; //串口通信波特率
ss_port.ByteSize = 8; //数据位
ss_port.Parity = 0; //奇偶校验
ss_port.StopBits = 1;//停止位
ss_port.ReadTimeout = 1000; //读超时
//ss_port.Close();
try
{
if (ss_port.Opened)
{
ss_port.Close();
ss_port.Open(); //打开串口
}
else
{
ss_port.Open();//打开串口
}
//return true;
}
catch(Exception ex)
{
Response.Write("错误:" + ex.Message);
//return false;
}
try
{
ss_port.Write(System.Text.Encoding.Default.GetBytes("1221212121212121212121212"));
}
catch(Exception ex)
{
Response.Write("错误:" + ex.Message);
//return false;
}
ss_port.Close();
Response.Write("写入数据完结!"+"<br>");
}
private void output()
{
CommPort ss_port = new CommPort();
ss_port.PortNum = "COM3"; //端口号
ss_port.BaudRate = 9600; //串口通信波特率
ss_port.ByteSize = 8; //数据位
ss_port.Parity = 0; //奇偶校验
ss_port.StopBits = 1;//停止位
ss_port.ReadTimeout = 1000; //读超时
try
{
if (ss_port.Opened)
{
ss_port.Close();
ss_port.Open(); //打开串口
}
else
{
ss_port.Open();//打开串口
}
//return true;
}
catch(Exception ex)
{
Response.Write("错误:" + ex.Message);
//return false;
}
try
{
string STR = System.Text.Encoding.Default.GetString(ss_port.Read(128));
Response.Write("写入的数据:"+STR+"<br>");
}
catch(Exception ex)
{
Response.Write("错误:" + ex.Message);
//return false;
}
ss_port.Close();
Response.Write("输出完毕");
}
http://blog.csdn.net/byeshuang/articles/471794.aspx
但我不会用这个类!(也不太明白)
在我的机子上有两个串口,COM1和COM2,两个相连.
请大侠们在看完了上面的那个网址后给我一段用上面的类实现的串口通信的代码.
(还有一个小问题,能不能用MSCOMm32.ocx控件,我的系统是WIN2000)
谢谢大家的帮忙!!!!!!!!!!!!!
附上我用那个类实现的代码!(没有错误就是没有结果!串口是好的,我用串口助手测过的)
private void writeMessage()
{
CommPort ss_port = new CommPort();
ss_port.PortNum = "COM1"; //端口号
ss_port.BaudRate = 9600; //串口通信波特率
ss_port.ByteSize = 8; //数据位
ss_port.Parity = 0; //奇偶校验
ss_port.StopBits = 1;//停止位
ss_port.ReadTimeout = 1000; //读超时
//ss_port.Close();
try
{
if (ss_port.Opened)
{
ss_port.Close();
ss_port.Open(); //打开串口
}
else
{
ss_port.Open();//打开串口
}
//return true;
}
catch(Exception ex)
{
Response.Write("错误:" + ex.Message);
//return false;
}
try
{
ss_port.Write(System.Text.Encoding.Default.GetBytes("1221212121212121212121212"));
}
catch(Exception ex)
{
Response.Write("错误:" + ex.Message);
//return false;
}
ss_port.Close();
Response.Write("写入数据完结!"+"<br>");
}
private void output()
{
CommPort ss_port = new CommPort();
ss_port.PortNum = "COM3"; //端口号
ss_port.BaudRate = 9600; //串口通信波特率
ss_port.ByteSize = 8; //数据位
ss_port.Parity = 0; //奇偶校验
ss_port.StopBits = 1;//停止位
ss_port.ReadTimeout = 1000; //读超时
try
{
if (ss_port.Opened)
{
ss_port.Close();
ss_port.Open(); //打开串口
}
else
{
ss_port.Open();//打开串口
}
//return true;
}
catch(Exception ex)
{
Response.Write("错误:" + ex.Message);
//return false;
}
try
{
string STR = System.Text.Encoding.Default.GetString(ss_port.Read(128));
Response.Write("写入的数据:"+STR+"<br>");
}
catch(Exception ex)
{
Response.Write("错误:" + ex.Message);
//return false;
}
ss_port.Close();
Response.Write("输出完毕");
}
...全文
相关推荐
C# 串口通信(彻底解决C#串口通信中的数据丢失问题)
### C#串口通信详解与数据丢失问题的解决方法#### 概述串口通信是一种常见的设备间数据传输方式,在工业控制、自动化测试等领域应用广泛。
【C#上位机开发】串口通信中乱码问题的全面解析与解决方案:数据编码与字节处理技巧
内容概要:本文详细介绍了C#上位机串口通信中常见的乱码问题及其解决方案。文章首先阐述了串口通信的基本概念及其在各个领域的广泛应用,解释了波特率、数据位、校验位和停止位等关键参数的作用。随后,文章深入分
【C#上位机开发】初级面试常见技术问题解析:涵盖数据类型、异常处理、网络与串口通信基础
在C#上位机开发领域,初级面试中的技术问题往往会围绕基础知识点展开,例如数据类型、异常处理、网络通信和串口通信。理解这些基础知识对于希望从事C#上位机开发的初级程序员来说是至关重要的。
C#串口通信(解决中文传输和实现换行)
本文将深入探讨如何在C#中进行串口通信,并解决中文传输时出现的乱码问题以及实现回车键换行功能。1.
C#调用API串口通信
为了解决这些问题,开发者可以使用纯API函数来实现串口通信。API函数提供了更加底层的控制,能够实现更加灵活的串口通信。


