【QR-10系列通用型袖珍可编程电阻箱试用体验】使用C#给电阻箱写一个上位机

描述

本文来源电子发烧友社区,作者:少年阿炳, 帖子地址:https://bbs.elecfans.com/jishu_2293012_1_1.html


QR-10系列的电阻箱支持AT指令配置阻值,因此决定给他设置一个简单的上位机。
本次使用了visual studio 2019 ,使用winform来搭建。

配置电阻的AT指令:AT+USER.SP=xxrn
xx:表示你需要设置的阻值

设计的上位机主要用到串口的打开关闭,串口发送,串口接收这三个功能。

//串口打开与发送部分的代码
private void button4_Click(object sender, EventArgs e)
        {
            if (button4.Text == "打开串口")
            {
                try
                {
                    serialPort1.PortName = comboBox1.Text;
                    serialPort1.BaudRate = Convert.ToInt32(comboBox2.Text, 10);//转换成10进制
                    serialPort1.Open();
                    ButtonEnable();
                    button4.Text = "关闭串口";
                }
                catch (Exception ex)
                {
                    MessageBox.Show("串口打开失败" + ex, "ERROR");
                }
            }
            else if (button4.Text == "关闭串口")
            {
                try
                {
                    serialPort1.Close();
                    ButtonDisable();
                    button4.Text = "打开串口";
                }
                catch (Exception ex)
                {
                    MessageBox.Show("串口关闭失败" + ex, "ERROR");
                }

            }
        }
//串口发送部分:
//先判断输入框是否有阻值输入。
//有阻值的情况下,发送AT指令
if (tbx_zuzhi.Text=="")
            {
                s1 = "请输入阻值rn";
                textBox_msg.AppendText(s1);
                return 2;
            }

            s2 = "AT+USER.SP=";
            s2 += tbx_zuzhi.Text;
            s2 += "rn";

            try
            {
                serialPort1.Write(s2);
                textBox_msg.AppendText($"阻值设置:{tbx_zuzhi.Text}rn");
            }
            catch
            {
            }
//串口接收
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            try
            {
                string content = serialPort1.ReadExisting();  //从串口事件读取输入流返回为string
                Invoke(new UpdateDisplayDelegate(UpdateDisplayToTextBox), new object[] { content, textBox_msg });
            }
            catch (Exception ex)
            {
                MessageBox.Show("接收数据出错" + ex, "ERROR");
            }

        }

界面最终的样子:

测试效果:

没有找到上传压缩包的位置,如有需要再上传

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分