C#串口通信问题
裸奔的蜗牛 2007-01-18 04:09:15 我看了网上的一些关于这个的文章,有个类是这样的:
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("输出完毕");
}