基本信息
源码名称:国际标准串口电子秤测试程序
源码大小:0.67M
文件格式:.rar
开发语言:C#
更新时间:2019-04-04
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
串口电子秤测试程序,源码描述: 一种简单、快速读取电子秤的程序。 可以设置串口的一些参数 欢迎感兴趣用户下载学习,C#的程序,还不错,可以借鉴。
串口电子秤测试程序,源码描述: 一种简单、快速读取电子秤的程序。 可以设置串口的一些参数 欢迎感兴趣用户下载学习,C#的程序,还不错,可以借鉴。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public delegate void HandleInterfaceUpdataDelegate(string text); //委托,此为重点
private HandleInterfaceUpdataDelegate interfaceUpdataHandle;
bool isClose = false;
private void Form1_Load(object sender, EventArgs e)
{
setOrgComb();
GetSetComb(false);
lblNote.Text = "数据有个规律平稳的显示重量,说明正常\n否则不平稳或者无数据,说明连接有问题\n或者电子秤有问题";
}
private void button1_Click(object sender, EventArgs e)
{
try
{
interfaceUpdataHandle = new HandleInterfaceUpdataDelegate(UpdateTextBox);//实例化委托对象
serialPort1.DataReceived = new SerialDataReceivedEventHandler(serialPort1_DataReceived);
if (!serialPort1.IsOpen)
{
serialPort1.Open();
}
setControlEnable(true);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
timer1.Enabled = true;
}
private void button2_Click(object sender, EventArgs e)
{
try
{
timer1.Enabled = false;
serialPort1.Close();
setControlEnable(false);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void timer1_Tick(object sender, EventArgs e)
{
//if (isClose)
//{
// return;
//}
//try
//{
// string send = "" (char)(27) 'p';
// serialPort1.Write(send);
//}
//catch (Exception ex)
//{
// MessageBox.Show(ex.Message);
// button2_Click(null, null);
//}
}
/// <summary>
/// 保存设置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSave_Click(object sender, EventArgs e)
{
try
{
GetSetComb(true);
}
catch { }
}
private void setOrgComb()
{
cmbPortName.Text = "COM1";
cmbBaudRate.Text = "9600";
cmbDataBti.Text = "8";
cmbStopBit.Text = "1";
cmbParity.Text = "None";
}
private void GetSetComb(bool b)
{
try
{
serialPort1.PortName = cmbPortName.Text.Trim();
serialPort1.BaudRate = Convert.ToInt32(cmbBaudRate.Text);
serialPort1.Parity = (Parity)Enum.Parse(typeof(Parity), cmbParity.Text.Trim());
serialPort1.StopBits = (StopBits)Enum.Parse(typeof(StopBits), cmbStopBit.Text.Trim());
serialPort1.DataBits = Convert.ToInt32(cmbDataBti.Text.Trim());
if (b)
{
MessageBox.Show("保存成功!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button3_Click(object sender, EventArgs e)
{
richTextBox1.Text = "";
}
private void button4_Click(object sender, EventArgs e)
{
try
{
timer1.Enabled = false;
if (serialPort1.IsOpen)
{
serialPort1.Close();
}
this.Dispose();
Application.Exit();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void setControlEnable(bool b)
{
button1.Enabled = !b;
button2.Enabled = b;
button3.Enabled = !b;
button4.Enabled = !b;
groupBox1.Enabled = !b;
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int i = serialPort1.BytesToRead;
if (i > 0)
{
string strTemp = serialPort1.ReadLine();
this.Invoke(interfaceUpdataHandle, strTemp);
}
}
private void UpdateTextBox(string text)
{
richTextBox1.Text = text "\n\r" richTextBox1.Text;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
isClose = true;
timer1.Enabled = false;
serialPort1.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}