c# 串口读取-读取串口数据添加了一个TimeoutException异常处理方法,出现了dll异常

问题描述

读取串口数据添加了一个TimeoutException异常处理方法,出现了dll异常

报错信息:
在 System.TimeoutException中第一次偶然出现的"System.dll"类型异常。
之后程序就不在接收数据了,也不出现程序报错,必须重新启动程序,才能继续接收数据。
错误一般会在程序运行1天之后出现假死现象。是不是因为我只是把错误信息记下来了,并没有进行错误处理?我的逻辑是,错误之后,丢弃这一组数据,然后重新进行数据接收。
跪求,本人无法解觉了现在。
相关代码:
//开始接收
public void StartReceive()
{
int temp = 0;
while (true)
{
try
{
temp = sp.ReadByte();
}
catch (TimeoutException ex)
{
LogTool.WriteEduAppLog(ex.Message, ex.StackTrace);
}
}
//将报错相关信息写入本地的log文档
public class LogTool
{
//当前程序的日志文件目录
static string strAppLofDir = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "logInfo.txt";
public static void WriteEduAppLog(string ErrorReason, string StackTrace)
{
WriteLog(ErrorReason, StackTrace, "EduApp.log");
}
private static void WriteLog(string ErrorReason, string StackTrace, string logFileName)
{
//判断有没有日志目录,没有就创建
DirectoryInfo directoryInfo = new DirectoryInfo(strAppLofDir);
if (!directoryInfo.Exists)
directoryInfo.Create();
StringBuilder logInfo = new StringBuilder("");
string currentTime = System.DateTime.Now.ToString("[yyyy-MM-dd HH:mm:ss]");
logInfo.Append("n").Append(currentTime).Append(":").Append(ErrorReason).Append("n").Append(StackTrace);
System.IO.File.AppendAllText(strAppLofDir + logFileName, logInfo.ToString());
}
}

解决方案

楼主 这是C#的一些项目实例代码 你可以参考一下
http://download.csdn.net/album/detail/1361

时间: 2025-01-21 16:43:37

c# 串口读取-读取串口数据添加了一个TimeoutException异常处理方法,出现了dll异常的相关文章

请教下如何按照一定比例几个list的数据添加到一个list中,使得最终数据呈比例排列呢?

问题描述 请教下如何按照一定比例几个list的数据添加到一个list中,使得最终数据呈比例排列呢? 请教下一个算法问题,有个final Arraylist,取名为f吧,有3个a, b, c list,里面的数据分别是30, 10, 30. 现在需要按照3:2:1的比例将a, b, c list里面的数据添加到f list中去,final list里面的数据要变成aaa bb c aaa bb c ....这种按比例排列方式. a, b, c这3个list的数据,不一定同时来的.可能a数据来了,然

Sql语句把一个表的某几列的数据存到另一个表里的方法

原文地址:sql语句把一个表的某几列的数据存到另一个表里的方法作者:星星月亮 一.如何用slq语句把一个表中的某几个字段的数据插入到另一个新表中,就要用下面这条slq语句:     insert into 表名1(字段1,字段2) select 字段1,字段2 from 表名2 这里有一点值得注意的是这2个字段要一一对应,并且按顺序. 二.如果另一个表是已经有数据的表,只希望更改其中的一列或几列的话,则用下面的sql语句:    update 表名1,表名2 set 表名1.字段1 = 表名2.

80块钱帮我解决!Applet java读取客户端串口数据

问题描述 80块钱帮我解决!Applet java读取客户端串口数据 大神!来帮我! ```package com.z.remotecheck.util; import java.applet.Applet; import java.awt.HeadlessException; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream;

c# 串口通信-C#串口数据读取问题求助

问题描述 C#串口数据读取问题求助 用C#中的一个serialport类读取cc2431传感器通过usb(com口)传来的数据,程序代码如下 void comm_DataReceived(object sender, SerialDataReceivedEventArgs e) { int n = comm.BytesToRead;//先记录下来,避免某种原因,人为的原因,操作几次之间时间长,缓存不一致 byte[] buf = new byte[n];//声明一个临时数组存储当前来的串口数据

Java串口通信读取浮点型数据

问题描述 Java串口通信读取浮点型数据 怎么将如下位机中的数据:如温度读取并显示,大神们有具体的例子吗 解决方案 这个要取决于你下位机是用的什么方式通讯的,它的通信协议.基本的思路是读取串口数据,然后根据协议对得到缓冲区的字节数组进行解析. 参考:http://blog.csdn.net/wssiqi/article/details/14107341 解决方案二: java 串口通信Java串口通信简介

android 串口通信读取数据

问题描述 android 串口通信读取数据 串口读数据时,size= mInputStream.read(buffer),执行到这一步就不往下执行了,求解! 解决方案 android串口通信Android串口通信android串口通信 解决方案二: 亲,您这个问题解决了吗??我现在也是卡在这块了,,您有办法吗??求告诉一下,,万分感谢 解决方案三: 亲,我的是线程阻塞了,

mfc串口数据解析-如何从串口接收一段16进制数据中 读取需要的数据

问题描述 如何从串口接收一段16进制数据中 读取需要的数据 串口接收到的16进制数据: 53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a 53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a 53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a . . . 串口接收到的ASCII数据: ? k ? ? ? ? s ? ? k u ? ? ? k ? ? ? ? s ?

C# 串口 SerialPort读取串口数据回显到文本框(显示不出来?)

问题描述 求教:环境VS2010,RS-232,通过SerialPort读取COM1口数据,回显到文本框中,但是无法获取回显数据.而通过串口调试工具,可以读取到发送到串口的值?源码: 解决方案 本帖最后由 sucretiger 于 2014-09-03 17:16:56 编辑解决方案二:断点看,到底收到数据没有解决方案三:估计是你程序没写对,你需要加一点延迟,然后把缓冲区的数据全部取出来.注意串口是串行发送数据的,你需要累加它发来的数据,而不是简单的接收,不然后面的数据会冲掉前面的.解决方案四:

485串口-串口发送读取继电保护器

问题描述 串口发送读取继电保护器 现在项目需要读取"继电保护器"里的电流.电压.电功等信息, 采样c#串口读取(协议是103规约),谁做过相应的例子, 解决方案 串口发送 解决方案二: 串口发送