1.背景
毕业到现在已有一年多时间了,回想起这一年在网上get各种技术,心得,总有一些膜拜的感触。每次遇到问题总会在博客,论坛里找到想要的答案,就这样慢慢的对博客有了兴趣,每当看到别人写的博客可以有那么多的关注度,那么多的人参与讨论,心里就洋洋的,然后就想自己写点啥,但是认真一想,好像除了会上网找,上网看就一点也写不出啥子了。我想主要还是自己没有在一个方向上有过过深的了解吧。后来有机会私下做了这个上位机,虽说技术也没多少,但是是自己完成的,还是有一些感悟吧。然后就尝试着去开始自己的第一篇博客?。该项目的背景是因为我这一年来是从事汽车电子的开发,对CAN通信接触的比较多,对基于CAN的协议也有些了解,然后就有了自己想写个上位机的想法,至于为什么选择C#来开发,主要是简单嘛。
2.实现的功能
基于CAN的上位机,网上一搜还是能找到很多的。有开源的,有付费的,有简单的,亦有复杂的。但他们都能实现常规的收发报文,有些有周期帧,事件帧等高级发送方式,还有些带有能解析CAN的高级协议。而我要实现以及想要实现的有这么些功能:
1.常规报文的收发-已实现
2.周期帧,事件帧-待实现
3.CAN报文数据解析,主要是DBC文件解析-待实现
4.数据标定的支持CCP协议-待实现
5.UDS协议的解析-已实现
6.UDS服务的自动化测试-已实现
7.基于UDS协议的ECU编程下载-已实现
已实现的基本没什么大的问题了,待实现主要是遇到问题或是没准备好开发这一功能。
3.软件界面
采用C#开发的上位机界面还是比较没档次的了,控件都是些方方正正的,不赖看。目前就实现了5个窗口,如下
主界面窗口:
“开启”窗口:
诊断下载-服务测试窗口:
诊断下载-服务诊断窗口:
诊断下载-服务测试窗口:
以上就是目前实现的全部,实现的细节,功能的测试,在接下来的博客里将继续深入讨论研究。
文章来源: 用C#实现CAN上位机开发(一)