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