测试测量技术
直播中

少年阿炳

4年用户 40经验值
擅长:嵌入式技术
私信 关注
[经验]

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

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

配置电阻的AT指令:AT+USER.SP=xx\r\n
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 = "请输入阻值\r\n";
                textBox_msg.AppendText(s1);
                return 2;
            }

            s2 = "AT+USER.SP=";
            s2 += tbx_zuzhi.Text;
            s2 += "\r\n";

            try
            {
                serialPort1.Write(s2);
                textBox_msg.AppendText($"阻值设置:{tbx_zuzhi.Text}\r\n");
            }
            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");
            }

        }

界面最终的样子:
上位机.jpg

测试效果:
1.jpg

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

回帖(1)

jf_05300523

2022-7-18 06:03:49
大牛。
期待与QR10电阻箱联调的视频。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分