电脑店-solidwork教学

北斗助手
2023年4月5日发(作者:笔记本显卡温度过高怎么办)

北⽃杯——C#上位机学习⼼得

#来⾃学渣的问候~

前情提要

因为准备2020的北⽃杯⼤赛,要写⼀个基于我们硬件实物的上位机软件,思来想去之后觉得⽤C#来写。其实在春节之前,我只会C

语⾔和VerilogHDL,C#属于那种听过但从来没学过的语⾔。

但是这个软件,基础知识我学了10天,上位机我写了10天,⼤概20天不到就搞定了。(也算神速了吧)因此也想分享⼀下,如何快

速⼊门C#,并制作⼀个上位机软件

这篇博客⽐较是个电⼦类学⽣,急需给⾃⼰的硬件实物配置⼀个电脑端调试助⼿,不打算学习太多的基础知识的那种,像我⼀样为了⽐赛⽽

准备的。

学习视频

在C#⼊门的学习,肯定是需要看学习视频的,上B站搜索C#上位机,就会出现很多针对上位机的⼊门教程。

我⽐较推荐杜洋⼯作室的上位机⼊门,这个教程的主持⼈刚好是⼀个写软件⼀个做硬件的,做硬件的主持⼈就⽐较能了解到像电⼦类的学

⽣学习C#,是⼀个怎么样的思维。

代码量积累

在正式些⽐赛的上位机软件之前,我⼤概是写了近10个C#的窗体应⽤程序,来作为练习。内容覆盖了串⼝,信息显⽰,按键控制,串⼝信

息转图像,多窗体应⽤,这⼏个算是最基础的⼀些应⽤,必须要会的。

C#本⾝作为⼀门⾼级语⾔(指⾼度模块化封装),拥有很完善的库,在不需要进⾏⼤项⽬开发的情况下,基本不需要⾃⼰造函数,直接调

⽤就可以了。C#整体的学习难度不⼤(指写上位机),只要拥有了良好的C语⾔基础,和了解C#中各种类的使⽤,就能写出⼀个不错的上

位机了。

上位机编程

我为北⽃杯写的上位机,是⼀个数据显⽰的窗体应⽤程序,包含了串⼝,数据显⽰,串⼝收发,⽂件打开/保存,图像显⽰,GMap地图显

⽰,⽹络数据库连接。

其中,地图⽤的是的拓展包,需要去其官⽹上下载应⽤程序拓展包。

应⽤效果是这样的:

数据库在C#的应⽤有好⼏种,SQLServer,MySQL,ACCESS。我是因为借⽤了同学的阿⾥云数据库,必须要匹配,所以我⽤的就是

MySQL。

这个我没有⽤数据库的显⽰界⾯,我将数据库的信息格式转换成了TextBox的显⽰,也就是字符串显⽰。⽹端是这个样⼦的:

学习⼼得

上位机介绍的博客改天单独写⼀个,这个博客主要就是想写⼀下学习C#和上位机编程的⼼得。

我写上位机的过程⽐较简单粗暴,⼊门了基础知识之后就直接硬刚,不会的就直接上⽹查资料,找相应的函数来⽤。

在编写过程中,我是对照了⼀个学长的模板,来设计整个软件的。有⼀个模板的好处就在于,它能帮忙节省很多图形界⾯的设计时间,还有

⼀些基础控制连接之间的⿇烦。⽐如按键显⽰数据,串⼝和数据发送之间的约束。

如果是速成的话,我认为过多的纠结类的原理是没有必要的,了解应⽤⽅式可能更加重要。但如果是要进⼀步学习的话,还是要从头⼊门,

先从控制台应⽤学起,了解了C#语⾔的架构,在有针对性的去学⼀个⽅向,⽐如数据库、地图、图像、算法之类的。

我⾃⼰本⾝的学习⽅法⽐较功利,或者说⽬的性过强。⼀般情况下,我不是先学会⼀门知识,再去应⽤它,⼤部分情况下,我是因为要参加

某个⽐赛,或者被要求做某个⼯作,然后去学去⽤。

这个学习有好有坏,好处就是能够有压⼒带来的动⼒,时间的限制会逼迫⾃⼰⾼速的接收知识,但是坏处就在于对于知识的信息会有很⼤的

取舍,会⽬的性⾮常强的把有⽤的信息提取出来,忽略掉次要信息。在⼀门语⾔,⼀个软件或者⼀款硬件的整体学习上,这个是⽐较不利

的。

因此,

就C#的学习来说,如果只想为了⽐赛去做⼀款上位机软件,学个⼏天就可以了,对于硬件⼯程师来说,⾃⼰编写上位机软件是为了更好的

调试硬件,只考虑实⽤性,但若是想在C#编程上更近⼀步的⼈来说,借助书籍去了解封装类的原理,会有利于更加灵活的编程和应⽤。

娱乐⼀下,奉上表情包⼀个。

菜鸡⼀个,⽂章看法和内容也许有问题。如有错误,请指正,感激不尽。

更多推荐

北斗助手