c#上位机开发学习

c#上位机开发学习 一

倒计时器

少年去游荡,中年想掘藏,老年做和尚

在这里插入图片描述

所用控件:

**timer:**时间控制,此控件被启动后可以按照一定的时间间隔来运行,可以自行设定时间间隔。通过timer.start()或timer.stop()启动或停止。

comboBox

progressBar

小结:

诸如comboBox,它在窗口显示的数值可以通过comboBox.text = “123123”这样的语句来改变。而progressBar由于是进度条,按照比例显示。通过progressBar.Maximum来设定最大值,然后在它显示的时候进度条则会根据他此时的数值所占最大值的比例的变化而变化。数值更改通过progressBar.value。

源码链接:https://download.csdn.net/download/qq_41661878/12662241

串口控制

const基本用法:

1、 const定义常变量后,该变量没有写权限,只有读权限 。个人理解是用const定义一个数值后便不能再被更改。

①const用于定义常变量时,要进行初始化

例如:

const int a=10; //合法

而const int a; //非法

②数据类型对于const而言是透明的

例如:

const int a=10; 等价于 int const a=10;

const int *p1=&a;等价于int const *p1=&a; 但不等价于int *const p1=&a;

const原文链接:https://blog.csdn.net/qq_40874221/article/details/79855317

2、serialPort1.Write(buffer, 0, 1);其中buffer为发送的数组,第二个代表发送从哪里开始,第三个是发送几个字节。

打开/关闭串口代码:

private void button1_Click(object sender, EventArgs e)
        {
            if(serialPort1.IsOPen)
                serialPort1.Close();
        }catch{
    	button1.Text = "打开串口";
}else{
    try{
        seriialPort1.PortName = comboBox1.Text;
        serialPPort1.Open();
        button1.Text = "关闭";
    }
    catch{
        MessageBox.Show("串口打开失败","错误");
    }
}

发送数据:

private void WriteByteToSerialPort(byte data)                   //单字节写入串口
        {
            byte[] Buffer = new byte [2]{0x00, data };                //定义数组
            if (serialPort1.IsOpen)                      //传输数据的前提是端口已打开
            {
                try
                {
                    serialPort1.Write(Buffer, 0, 2);                    //写数据
                }
                catch 
                {
                    MessageBox.Show("串口数据发送出错,请检查.","错误");//错误处理
                }
            }
        }

串口控制:

private void SearchAndAddSerialToComboBox(SerialPort MyPort, ComboBox MyBox)//serialport目的是传入serialport1,ComboBox MyBox传入下拉框
        {        									 //将可用端口号添加到ComboBox
           
            string Buffer;                            //缓存
            MyBox.Items.Clear();                                        //清空ComboBox内容
            for (int i = 1; i < 20; i++)                                //循环
            {
                try                                                     //核心原理是依靠try和catch完成遍历
                {
                    Buffer = "COM" + i.ToString();
                    MyPort.PortName = Buffer;
                    MyPort.Open();                                      //如果失败,后面的代码不会执行

                    MyBox.Items.Add(Buffer);                            //打开成功,添加至下俩列表
                    MyPort.Close();                                     //关闭

                }
                catch 
                {

                }
            }
        }

先就这么多吧,成品还没整理。回头放

更新:
上位机读取GPS数据根据经纬度显示在地图上(二) 含源码
https://blog.csdn.net/qq_41661878/article/details/107821426

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn-唯一

谢谢爸爸

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值