Visual C# (1) 使用windows窗体应用程序设计上下位机串口通信系统的上位机界面

本文介绍了如何使用Visual C# 2013创建一个Windows窗体应用程序,用于设计上下位机串口通信系统的上位机界面。步骤包括创建窗体、设置串口、实现数据发送和接收,以及运行和测试程序。通过ComboBox选择串口和波特率,Button控制串口打开,TextBox用于输入和显示数据。
摘要由CSDN通过智能技术生成
前言

前一篇文章讲了利用Arduino mega2560来设计上下位机串口通信系统的下位机,这一章则要讲如何设计上位机界面软件,这里我们先选用了VS2013自带的Visual C#。这是微软公司开发的C#编程语言规格之集成开发环境使用者接口,可以帮助开发者快速地设计出一款适合自己的界面软件。

创建窗体应用程序

  • 首先打开VS2013,选择工具栏中的"文件"->“新建”->“项目”->“Visual C#”->“Windows桌面”->“Windows窗体应用程序”,重新命名后,点击确定就可以了。
    在这里插入图片描述
  • 生成项目文件之后,最主要的是Form1.cs文件和Form1.cs[设计],其中前者是代码编写的区域,已经定义了公有类Form1(也可以根据需要修改类名),我们后续只需要在这个类下加进去自己需要的按钮操作;后者是界面的图形设计,可以从左侧工具箱中选择公共控件,加入到界面当中去,包括Button、CheckBox等一系列操作。其他的操作项目框架已经帮我们做好了,我们只需要设计这两个文件即可。
    在这里插入图片描述

创建一个串口

  • 首先我们在Form1.cs[设计]里选择左边工具箱内的ComboBox,拖动到图形界面上,并且在前面给它一个Label叫“串口选择”,点击这个ComboBox的属性,找到"设计"->(Name),将这个ComboBox命名为“SerialChoose”,之后在代码区就可以用“SerialChoose”来指代这个ComboBox,这一步的作用是为了生成界面后选择插入到PC上不同的串口;接着同样做一个波特率的ComboBox,命名为"BaudRate";最后再从工具箱内选择一个Button按钮,给它命名为"SerialSwitch",并在属性->“外观”->“Text”,给这个Button赋上"串口打开"字符。
    在这里插入图片描述
  • 先在代码区最上面引用Ports类using System.IO.Ports; 接着在代码区public Form1()这个函数里编写串口相关代码,因为串口操作需要界面软件初始化就开始使用,所以直接将这部分代码写在InitializeComponent()之后即可。当然如果有需求的,可以在打开串口操作成功后加上状态按钮,显示更加清楚。
namespace SimpleHostPrint
{
   
	public partial class BOTDR : Form
	{
   
		//通过System.IO.Ports实例化一个串口对象s,这一步要定义为全局变量,后面各个函数才能使用
 		SerialPort ss = new SerialPort();   
  
 		public BOTDR()    //这里我把图形界面名Form1改名成了自己需要的名字,相应的类名也会跟着变化
        {
   
            InitializeComponent();

            Control.CheckForIllegalCrossThreadCalls = false;  //放置跨线程访问出错
            SerialSwitch.Text = "打开串口";    // "SerialSwitch"Button的初始状态
            //定义一个Item数组,遍历item中每一个波特率变量a,增加到"BaudRate"ComboBox的列表中
            int[] item = {
    9600, 115200 };   
            foreach (int a in item)
            {
   
                BaudRate.Items.Add(a.ToString());
            }
            BaudRate.SelectedItem = BaudRate.Items[0];  //默认为列表第1个变量
        }
		
		//这个函数界面软件启动时会载入
        private void Form1_Load(object sender, EventArgs e)
        {
   
            //获取当前的所有的串口名字,存入字符串数组
            String[] ports = SerialPort.GetPortNames();
            //把这个串口名字符串数组全都加载进"SerialChoose"ComboBox里
            SerialChoose.Items.AddRange(ports);
            //"SerialChoose"ComboBox默认选择第一个串口名
            SerialChoose.SelectedItem = SerialChoose.Items[0];
        }
		
		//"SerialSwitch"Button对应的代码,点击该Button即触发此段代码
        private void SerialSwitch_Click(object sender
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值