随笔
读取XML中的数据对串口配置,小玩意
/// <summary>
/// fSerialPort :fSerialPort的构造函数
/// </summary>
public class fSerialPort :SerialPort
{
//构造函数,实例串口时自动对该串口进行配置
public fSerialPort(string portname):base(portname)
//: base(portname, 0x2580, Parity.None, 8, StopBits.One)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load("CommConfig.xml");
XmlNodeList rNodelist = xDoc.SelectSingleNode("Bean").ChildNodes;
try
{
foreach (XmlNode xNode1 in rNodelist)
{
XmlElement Xe1 = (XmlElement)xNode1;
XmlNodeList rNodelist2 = Xe1.ChildNodes;
foreach (XmlNode xNode2 in rNodelist2)
{
if (portname == Xe1.GetAttribute("CommName"))
{
XmlElement Xe2 = (XmlElement)xNode2;
XmlNodeList rNodelist3 = Xe2.ChildNodes;
foreach (XmlNode xNode3 in rNodelist3)
{
if (Xe2.Name == "BaudRate")
{
BaudRate = int.Parse(Xe2.InnerText);
}
if (Xe2.Name == "DataBits")
{
DataBits = int.Parse(Xe2.InnerText);
}
if (Xe2.Name == "Parity")
{
Parity = (Parity)int.Parse (Xe2.InnerText);
}
if (Xe2.Name == "StopBits")
{
StopBits = (StopBits)int.Parse (Xe2.InnerText);
}
ParityReplace = 0x3f;
}
}
// dname = Xe1.GetAttribute("CommDevice"); //设备类型
}
}
}
catch
{
}
}
}
/// fSerialPort :fSerialPort的构造函数
/// </summary>
public class fSerialPort :SerialPort
{
//构造函数,实例串口时自动对该串口进行配置
public fSerialPort(string portname):base(portname)
//: base(portname, 0x2580, Parity.None, 8, StopBits.One)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load("CommConfig.xml");
XmlNodeList rNodelist = xDoc.SelectSingleNode("Bean").ChildNodes;
try
{
foreach (XmlNode xNode1 in rNodelist)
{
XmlElement Xe1 = (XmlElement)xNode1;
XmlNodeList rNodelist2 = Xe1.ChildNodes;
foreach (XmlNode xNode2 in rNodelist2)
{
if (portname == Xe1.GetAttribute("CommName"))
{
XmlElement Xe2 = (XmlElement)xNode2;
XmlNodeList rNodelist3 = Xe2.ChildNodes;
foreach (XmlNode xNode3 in rNodelist3)
{
if (Xe2.Name == "BaudRate")
{
BaudRate = int.Parse(Xe2.InnerText);
}
if (Xe2.Name == "DataBits")
{
DataBits = int.Parse(Xe2.InnerText);
}
if (Xe2.Name == "Parity")
{
Parity = (Parity)int.Parse (Xe2.InnerText);
}
if (Xe2.Name == "StopBits")
{
StopBits = (StopBits)int.Parse (Xe2.InnerText);
}
ParityReplace = 0x3f;
}
}
// dname = Xe1.GetAttribute("CommDevice"); //设备类型
}
}
}
catch
{
}
}
}
浙公网安备 33010602011771号