用C#实现CAN上位机开发(一)

匿名 (未验证) 提交于 2019-12-02 22:59:29

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个窗口,如下

主界面窗口:

“开启”窗口:

诊断下载-服务测试窗口:

诊断下载-服务诊断窗口:

诊断下载-服务测试窗口:

以上就是目前实现的全部,实现的细节,功能的测试,在接下来的博客里将继续深入讨论研究。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!