C# 开发Windows上位机WPF过程 (单片机串口设参)

        说到设备的通用性,就要讲到设备的参数开放出来给用户设置。这点上毋庸置疑是一件好事,于是之前一直都是通过网上的串口软件类似于SSCOM这种来把要设置的东西放在列表里面,交给生产或者营销,让他们按顺序点就可以了。但是一旦涉及到要改序列号,或者有账号密码之类的设置就会出问题,老是要电联我们。因此也不敢把太多的参数开放,改错了,不知道改哪里的问题很严重。

        于是就想到做一个上位机的程序,打听了一下,都说C#开发Windows程序开发效率逆天。(首先你得有一门语言的基础,有面向对象语言的基础更快,我这边是C)抱着试一试的态度,买了本书看了一下,就开始了,大致看书一周,写了一周,调试一周,写了一个差不多能用的。差不多找本销量高的入门书:

        先看了下C#的语法和一些注意事项;大致就是面向对象语言的类型,没有指针,巴拉巴拉;看完了语法之后,之后的一些先不急,用到了再看;因为直接接下去看XAML界面属性什么的,不实际操作很难理解;git找了几个demo程序,就是只有一个串口输入输出的demo;其实打开工程看了一下,找个界面还算简约的就在这上面后续开发了。

       开发的话其实大致就是面向搜索器编程,因为C#的.NET库的API少说也有好几万或者什么属性什么的光看书也不可能找得到,再说我们要快速开发。大致用到的点有:

1.button,textbox,textblock,StackPanel等控件的属性和事件;

2.try...catch...finally的异常处理结构;

3.串口IO的库的了解使用,数据收发;

4.子窗口的处理;

5.文件流的读取和写入操作;

6.剩下的就是业务相关的,串口数据的格式规定,输入限制等等;

       接下来就是和单片机进行联调界面的提示信息和一些操作的修改。最终完成效果如下:

项目开源,源代码链接(仅供大家参考,其实你拿去了没有模块也没用):

GitHub - JetLinWork/winserialApp_backup

后面又有开发新的上位机,发现这个在串口输入中断事件里做了很多事情,不大好(虽然说windows之类的都是有input缓存也无伤大雅),最好新开一个线程或者定时器线程处理接受到的数据。


版权声明:本文为Lin_LYFC原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。