================================================================================================
2011-04-25:添加了SiXi.Logs.dll到项目中,原来是引用我本机的。在本机可以正常运行,后来网友反映无法找到DLL,我才发现了这个错误。对不住各位了。现已更新。
================================================================================================
09年因为一个项目要用到串口通信,我对串口通信没有什么了解,就一边学一边写了一个小工具,这个工具非常简陋,甚至非常丑陋,但是对于入门的想知道c#如何通过串口收发数据的童鞋来说,应该有一点点帮助。这个程序不包含任何通信协议的封装,我想,不同的设备都遵循不同的协议,我见过的最BT的协议就是我们的产品的通信协议。天,好几层封装,仅仅是为了那几个字节。不废话了,有应用程序和源代码,请选择下载。
开发环境:
语言:C#2.0
Microsoft Visual Studio 2005
版本 8.0.50727.762 (SP.050727-7600)
Microsoft .NET Framework
版本 2.0.50727 SP2
下载地址:
友情提示:如果您无法打开此解决方案,请升级您的Visual Studio 至VS2005SP1(这个升级过程要消耗很多时间,请耐心,并保持计算机不会突然断电)。
c#开发交流:
QQ群: 125353043
================================================================
下面是Sixi .log.dll的源码:
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace SiXi.Logs
{
/// <summary>
/// 写日志的类
/// </summary>
public class Log
{
#region 方法
#region 写入日志
/// <summary>
/// 写入日常日志
/// </summary>
/// <param name="msg"> 要写入日志的信息 </param>
public static void WriteNomalLog( string msg)
{
try
{
// 如果是同一天的话,则打开文件在末尾写入。如果不是同一天,则创建文件写入文件
// 新建文件
// 写入文件
if (!Directory.Exists( " logs "))
{
Directory.CreateDirectory( " logs ");
}
// 判断是否存在文件
if (File.Exists( " logs/ " + DateTime.Now.ToString( " yyyyMMddHH ") + " Nomal.log "))
{
// 如果存在文件,
using (StreamWriter sw = new StreamWriter( " logs/ " + DateTime.Now.ToString( " yyyyMMddHH ") + " Nomal.log ", true))
{
lock (sw)
{
sw.WriteLine( " ============================================================================ ");
sw.WriteLine(DateTime.Now.ToString( " yyyy-MM-dd HH:mm:ss ") + " : ");
sw.WriteLine(msg);
sw.Close();
sw.Dispose();
}
}
return;
}
using (StreamWriter sw2 = new StreamWriter( " logs/ " + DateTime.Now.ToString( " yyyyMMddHH ") + " Nomal.log ", true))
{
lock (sw2)
{
sw2.WriteLine( " ============================================================================ ");
sw2.WriteLine(DateTime.Now.ToString( " yyyy-MM-dd HH:mm:ss ") + " : ");
sw2.WriteLine(msg);
sw2.Close();
sw2.Dispose();
}
}
}
catch (IOException ex)
{
// throw ex;
}
catch (Exception ex)
{
// throw ex;
}
} // 日志文件结束
/// <summary>
/// 写异常日志
/// </summary>
/// <param name="e2"> 异常的实体 </param>
public static void WriteExceptionLog(Exception e2)
{
try
{
// 如果是同一天的话,则打开文件在末尾写入。如果不是同一天,则创建文件写入文件
// 新建文件
// 写入文件
if (!Directory.Exists( " logs "))
{
Directory.CreateDirectory( " logs ");
}
// 判断是否存在文件
if (File.Exists( " logs/ " + DateTime.Now.ToString( " yyyyMMddHH ") + " Exception.log "))
{
// 如果存在文件,
using (StreamWriter sw = new StreamWriter( " logs/ " + DateTime.Now.ToString( " yyyyMMddHH ") + " Exception.log ", true))
{
lock (sw)
{
sw.WriteLine( " ============================================================================ ");
sw.WriteLine(DateTime.Now.ToString( " yyyy-MM-dd HH:mm:ss ") + " : ");
sw.WriteLine(e2.ToString());
sw.Close();
sw.Dispose();
}
}
return;
}
using (StreamWriter sw2 = new StreamWriter( " logs/ " + DateTime.Now.ToString( " yyyyMMddHH ") + " Exception.log ", true))
{
lock (sw2)
{
sw2.WriteLine( " ============================================================================ ");
sw2.WriteLine(DateTime.Now.ToString( " yyyy-MM-dd HH:mm:ss ") + " : ");
sw2.WriteLine(e2.ToString());
sw2.Close();
sw2.Dispose();
}
}
}
catch (IOException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
} // 日志文件结束
/// <summary>
/// 写入调试日志
/// </summary>
/// <param name="msg"> 要写入日志的信息 </param>
public static void WriteDebugLog( string msg)
{
try
{
// 如果是同一天的话,则打开文件在末尾写入。如果不是同一天,则创建文件写入文件
// 新建文件
// 写入文件
if (!Directory.Exists( " logs "))
{
Directory.CreateDirectory( " logs ");
}
// 判断是否存在文件
if (File.Exists( " logs/ " + DateTime.Now.ToString( " yyyyMMddHH ") + " Debug.log "))
{
// 如果存在文件,
using (StreamWriter sw = new StreamWriter( " logs/ " + DateTime.Now.ToString( " yyyyMMddHH ") + " Debug.log ", true))
{
lock (sw)
{
sw.WriteLine( " ============================================================================ ");
sw.WriteLine(DateTime.Now.ToString( " yyyy-MM-dd HH:mm:ss ") + " : ");
sw.WriteLine(msg);
sw.Close();
sw.Dispose();
}
}
return;
}
using (StreamWriter sw2 = new StreamWriter( " logs/ " + DateTime.Now.ToString( " yyyyMMddHH ") + " Debug.log ", true))
{
lock (sw2)
{
sw2.WriteLine( " ============================================================================ ");
sw2.WriteLine(DateTime.Now.ToString( " yyyy-MM-dd HH:mm:ss ") + " : ");
sw2.WriteLine(msg);
sw2.Close();
sw2.Dispose();
}
}
}
catch (IOException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
} // 日志文件结束
#endregion
#endregion
}
}