在 System.InvalidOperationException 中第一次偶然出现的“System.dll”类型的异常
这个怎么解决啊!!~~~本人初学C#,读串口时报异常,但是程序能运行
------解决方案--------------------
------解决方案--------------------文本框的MaxLength是int类型的,修改这个属性就行。
Text太长,控件会刷新迟钝
看你的程序不像是要处理GPS,倒像是个通讯测试程序。
依靠文本框存储历史通讯数据不是好办法。
要么定期/定量清理,要么存文件。
------解决方案--------------------算了,我以前一直是做c/C++,接触C#没几年,做老师还差点。
我qq也只在小圈子里用,不想一举一动都有太多人盯着。
其实csdn就是老师,有问题大家懂的话,肯定会帮你。
---------------------------------------------------
你这个计时器异常很奇怪:计时器肯定没问题,委托调用也没问题,
那只有串口、UI控件的操作可能有问题。
1、
int n = comm.BytesToRead;语句应该有隐患,如果缓冲区没有数据,n=0,
那么后续的代码会不会出问题就不知道了,我没有仔细分析。你可以先把这个处理了。
但我觉得这应该不是真正原因:你的串口1秒内肯定有数据。
2、用try-catch捕捉异常出现的位置。
-------------------------------------------
GPS数据:
count4应该是下一帧头前,count3呢?代码中看不出
至于为什么显示的数据中有帧头,是因为:s.Substring(count3, count4 - count3)
始终是从count3开始取数据的,
如果数据包中包含多帧,那这个循环中,至少从第二行开始都会出现帧头
------解决方案--------------------
------解决方案--------------------可以直接这样用吗?
comm.DataReceived += comm_DataReceived;
------解决方案--------------------