发送消息“串口助手源码”  获取源码

对于工程师来说,串口助手可以说是必不可少的一个工具,一个好的串口助手可以大大方便我们的研发调试。网上串口助手很多,如果能够根据自己需要做一个合适的串口助手,那么既能方便自己,也能掌握上位机的开发,对于自己未来的发展方向不得不说是一件非常不错的事。

      首先看一下完成的串口工具演示


串口助手界面演示


自发自收验证数据:

    

Java串口上位机开发 串口上位机软件_CX32L003


串口助手自发自收


接收外部设备数据:

Java串口上位机开发 串口上位机软件_Java串口上位机开发_02


串口助手接收外部设备数据


       接下来我们就开始制作一个串口助手。

开发一个软件,必不可少的就是软件的安装,我们采用的是Visual Studio 2017 Community_15.7.5 大家可以从官网或者一些软件管家下载到并自行安装。

       新建窗体应用,如下图:

Java串口上位机开发 串口上位机软件_CX32L003_03

       选择Windows窗体应用,这个会生成一个应用基础模板。

Java串口上位机开发 串口上位机软件_Java串口上位机开发_04

      建立好工程后,会出现如下界面,这个就是界面设计

Java串口上位机开发 串口上位机软件_CX32L003_05

     如果界面中没用工具控件,那么需要在视图中把工具箱调出来。

Java串口上位机开发 串口上位机软件_ubuntu_06

       这时候准备工作已经差不多了。可以根据需要来进行代码编写了。

       首先我们先将所需要的控件都添加到主界面上。对于串口来说,需要了解一个串口设备需要的参数即,串口号,波特率,数据位,停止位,校验位,所以首先将这些需要选择参数的控件放上去。ComboBox就是用来填参数的控件。

Java串口上位机开发 串口上位机软件_ubuntu_07

Java串口上位机开发 串口上位机软件_ubuntu_08

       串口号、波特率、数据位、停止位、校验位 5个参数所以添加5个ComboBox即可。这时候,还需要注意一个特别重要的东西就是软件菜单的帮助->查看帮助。

Java串口上位机开发 串口上位机软件_单片机_09

      点击查看帮助会打开一个网页,这个网页几乎是windows开发所需要的全部技术资料和参考。通过这个可以很方便的帮助我们学习和解决遇到的问题。

Java串口上位机开发 串口上位机软件_单片机_10

Java串口上位机开发 串口上位机软件_CX32L003_11

     添加了参数选择后,还需要把各自的参数选项添加上去。添加方法如下:点击控件会出现小三角,打开后 选择“编辑项”,随后把参数添加即可

Java串口上位机开发 串口上位机软件_单片机_12

Java串口上位机开发 串口上位机软件_Java串口上位机开发_13

Java串口上位机开发 串口上位机软件_ubuntu_14

类似的 波特率、数据位、停止位、校验位也依次各自填入即可。

Java串口上位机开发 串口上位机软件_ubuntu_15

Java串口上位机开发 串口上位机软件_CX32L003_16

Java串口上位机开发 串口上位机软件_CX32L003_17

Java串口上位机开发 串口上位机软件_串口_18

Java串口上位机开发 串口上位机软件_CX32L003_19

Java串口上位机开发 串口上位机软件_单片机_20

Java串口上位机开发 串口上位机软件_ubuntu_21

Java串口上位机开发 串口上位机软件_CX32L003_22

       参数选择已经添加到界面,现在只有几个参数,那这几个参数该怎么用呢。工具箱里还有一个控件,即SerialPort控件。这个与其说是控件,不如说是一个控制设备。这个控件添加后,那么就相当于把串口添加到了界面上。

Java串口上位机开发 串口上位机软件_ubuntu_23

       接下来的操作将完全围绕SerialPort来进行。

这时候,我们就需要打开官方的网页帮助文档来进行查找了。输入“serialport” 进行全.NET 文档查找。

Java串口上位机开发 串口上位机软件_串口_24

Java串口上位机开发 串口上位机软件_Java串口上位机开发_25

     搜到几乎所有的serialportx相关内容。

Java串口上位机开发 串口上位机软件_CX32L003_26

       随便打开一篇,找到文章左侧的树形目录的“SerialPort”,点击就进入了"SerialPort类"

Java串口上位机开发 串口上位机软件_CX32L003_27

      由此我们就找到了关于串口相关的所有资料展示。

Java串口上位机开发 串口上位机软件_串口_28

       最开始我们加入的 串口号、波特率、数据位、停止位、校验位 这几个参数是凭借我们之前所用的串口工具的印象来添加的,现在有了这些文档指示,我们就可以从中找到所有串口参数相关的依据。

Java串口上位机开发 串口上位机软件_串口_29

Java串口上位机开发 串口上位机软件_单片机_30

Java串口上位机开发 串口上位机软件_串口_31

Java串口上位机开发 串口上位机软件_CX32L003_32

       还是回到控件部分,以串口控件为例,当我们需要选择某个串口号时,就需要控制ComboBox控件来识别我们到底选择了哪个选项,设置的值其实就是其内部选项的序号从0选项开始。串口号的控件id是comboBox1,选项从com0-com10,首先默认选择com9,序号就是8,如下图,在public Form1()中添加

comboBox1.SelectedIndex = 8;

那么其他的参数也是一样

comboBox1.SelectedIndex = 8;//串口号选择com9
comboBox2.SelectedIndex = 4;//波特率选择115200
comboBox3.SelectedIndex = 3;//数据位选择8位
comboBox4.SelectedIndex = 1;//停止位选择1位
comboBox5.SelectedIndex = 0;//校验位选择None

      默认选项是当运行时初始化的选项,那当我们自己选择的时候该如何呢。

再次以串口号为例。

     首先,双击串口号的combobox控件

Java串口上位机开发 串口上位机软件_串口_33

。这时候软件会自动跳到Form1.cs 并自动添加一段函数,如下:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
  
}

       这段代码就是当combobox控件选择有变化时才进入,用来选择选项。在这我们加入一行,当手动输入前几段代码时,系统会自动补全,找到需要的参数即可。程序中com_num是建立的一个全局参数,因为只有全局参数才能供多个控件使用。