如何ASP.NET2.0中的WEBFORM中使用SERIALPORT 我想在ASP.NET2.0中使用SERIALPORT类来操作串口,但无法实现,请各位大侠给点思路或全程项目已因此停滞三天了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using System;using System.Collections.Generic;using System.ComponentModel;using System.Text;using System.IO.Ports;namespace ConsoleApplication1{ class CommPort { protected SerialPort commPort = new SerialPort(); private readonly StringBuilder strReceive = new StringBuilder(); // 接收到数据的缓冲区 #region CommPort 构造函数 /// <summary > /// CommPort 构造函数 /// </summary > public CommPort() { // 初始化串口 commPort.BaudRate = 1200; commPort.Parity = Parity.Even; commPort.Encoding = Encoding.UTF8; // 串口的数据接收事件 commPort.DataReceived += commPort_DataReceived; } #endregion #region commPort_DataReceived 数据抵达 /// <summary > /// commPort_DataReceived 数据抵达 /// </summary > /// <param name= "sender " > </param > /// <param name= "e " > </param > void commPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { try { #region 接收数据 // 接收缓冲区中数据的字节数 int int_Len = commPort.BytesToRead; // 接收数据 byte[] bytes = new byte[int_Len]; commPort.Read(bytes, 0, int_Len); #endregion #region 将数据存入缓冲 // 将数据存入字符串缓冲区中 for (int i = 0; i < bytes.Length; i++) { strReceive.Append(bytes[i] + " "); } #endregion } catch (Exception ex) { } } #endregion #region IsOpen 测试串口是否已经打开 /// <summary > /// 测试串口是否已经打开 /// </summary > /// <returns > </returns > public bool IsOpen() { try { if (commPort == null) return false; return commPort.IsOpen; } catch (Exception ex) { } return false; } #endregion #region Open 打开串口 /// <summary > /// 打开串口 /// </summary > /// <returns > </returns > public bool Open() { try { if (!commPort.IsOpen) { commPort.Open(); } return true; } catch (Exception ex) { return false; } } #endregion #region Close 关闭串口 /// <summary > /// 关闭串口 /// </summary > /// <returns > </returns > public bool Close() { try { if (commPort.IsOpen) { commPort.Close(); } return true; } catch (Exception ex) { return false; } } #endregion #region Write 往串口中写数据 /// <summary > /// 往串口中写数据 /// </summary > public void Write(byte[] bytes) { try { if (commPort.IsOpen) { commPort.Write(bytes, 0, bytes.Length); } else { Open(); commPort.Write(bytes, 0, bytes.Length); } } catch (Exception ex) { } } #endregion }} 在线等!!javascript问题!!!! vs 2005 真的不用写数据库访问类吗????? 动态生成textbox后,怎么在javascript中得到它的属性,急???? 数据库问题 怎样在客户端将表格排序 求助:向sql server2000添加数据问题 asp.net中如何实现像asp中对数据源链接的分离的? 请教:我觉得很难的问题,高手过来看看。 关于VS2005控件样式的问题。请大侠帮帮忙 .net 下cookies不能用了么?该怎么用类似的东西?? 开发中的困惑,请大虾们推荐一本数据设库设计方面的书 vs2005中如何使用网格、标尺、辅助线进行排版呀?
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.IO.Ports;namespace ConsoleApplication1
{
class CommPort
{
protected SerialPort commPort = new SerialPort(); private readonly StringBuilder strReceive = new StringBuilder(); // 接收到数据的缓冲区 #region CommPort 构造函数 /// <summary >
/// CommPort 构造函数
/// </summary >
public CommPort()
{
// 初始化串口
commPort.BaudRate = 1200;
commPort.Parity = Parity.Even;
commPort.Encoding = Encoding.UTF8; // 串口的数据接收事件
commPort.DataReceived += commPort_DataReceived;
} #endregion #region commPort_DataReceived 数据抵达 /// <summary >
/// commPort_DataReceived 数据抵达
/// </summary >
/// <param name= "sender " > </param >
/// <param name= "e " > </param >
void commPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
#region 接收数据 // 接收缓冲区中数据的字节数
int int_Len = commPort.BytesToRead; // 接收数据
byte[] bytes = new byte[int_Len];
commPort.Read(bytes, 0, int_Len); #endregion #region 将数据存入缓冲 // 将数据存入字符串缓冲区中
for (int i = 0; i < bytes.Length; i++)
{
strReceive.Append(bytes[i] + " ");
} #endregion }
catch (Exception ex)
{ }
} #endregion #region IsOpen 测试串口是否已经打开 /// <summary >
/// 测试串口是否已经打开
/// </summary >
/// <returns > </returns >
public bool IsOpen()
{
try
{
if (commPort == null) return false; return commPort.IsOpen;
}
catch (Exception ex)
{
} return false;
} #endregion #region Open 打开串口 /// <summary >
/// 打开串口
/// </summary >
/// <returns > </returns >
public bool Open()
{
try
{
if (!commPort.IsOpen)
{
commPort.Open();
} return true;
}
catch (Exception ex)
{
return false;
}
} #endregion #region Close 关闭串口 /// <summary >
/// 关闭串口
/// </summary >
/// <returns > </returns >
public bool Close()
{
try
{
if (commPort.IsOpen)
{
commPort.Close();
} return true;
}
catch (Exception ex)
{
return false;
}
} #endregion #region Write 往串口中写数据 /// <summary >
/// 往串口中写数据
/// </summary >
public void Write(byte[] bytes)
{
try
{
if (commPort.IsOpen)
{
commPort.Write(bytes, 0, bytes.Length);
}
else
{
Open();
commPort.Write(bytes, 0, bytes.Length);
}
}
catch (Exception ex)
{
}
} #endregion }
}