• 大小: 83KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: C#
  • 标签: c#  上位机  源代码  

资源简介

非常适合初学者研究,功能齐全、智能好用,具体功能如下: 1软件打开时,自动检测有效COM端口 2 软件打开时,自动复原到上次关闭时的状态 3 不必关闭串口,即可直接进行更改初始化设置内容(串口号、波特率、数据位、停止位、校验位),可按更改后的信息自动将串口重新打开 4 可统计接收字节和发送字节的个数 5 接收数据可按16进制数据和非16进制数据进行整体转换 6 可将接收到数据进行保存 7 可设置自动发送,发送时间可进行实时更改 8可按字符串、16进制字节、文件方式进行发送,字符串和16进制字节可分别进行存储,内容互不干扰 9 按16进制发送时,可自动校验格式,不会输错 10 可清空发送或接收区域的数据 欢迎对c#有兴趣的爱好者们,加入c#技术交流群(33647125)

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Text.Regularexpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Collections;

namespace 串口助手sdd
{
    public partial class Form1 : Form
    {
        //声明变量
        SerialPort sp = new SerialPort();
        bool isSetProperty = false;//串口属性设置标志位
        private enum PortState//声明接口显示状态,枚举型
        {
            打开
            关闭
        }
        string path = AppDomain.CurrentDomain.baseDirectory + “confing.ini“;//声明配置文件路径
        string tbSendDataStr = ““;//发送窗口字符串存储
        string tbSendData16 = ““;//发送窗口16进制存储
        List receivedDatas = new List();//接收数据泛型数组

        //接收串口数据
        private void sp_DataReceived(object sender SerialDataReceivedEventArgs e)
        {
            byte[] ReceivedData = new byte[sp.BytesToRead];//创建接收字节数组
            sp.Read(ReceivedData 0 ReceivedData.Length);//读取所接收到的数据
            receivedDatas.AddRange(ReceivedData);

            tbReceivedCount.Text = (Convert.ToInt32(tbReceivedCount.Text) + ReceivedData.Length).ToString();
            if (cb16Display.Checked)
                tbReceivedData.Text = Methods.ByteTo16Str(receivedDatas.ToArray());
            else
                tbReceivedData.Text = Encoding.Default.GetString(receivedDatas.ToArray());
            sp.DiscardInBuffer();//丢弃接收缓冲区数据
        }

        //发送串口数据
        private void DataSend()
        {
            try
            {
                if (cb16Send.Checked)
                {
                    byte[] hexBytes = Methods._16strToHex(tbSendData16);
                    sp.Write(hexBytes 0 hexBytes.Length);
                    tbSendCount.Text = (Convert.ToInt32(tbSendCount.Text) + hexBytes.Length).ToString();
                }
                else
                {
                    sp.WriteLine(tbSendDataStr);
                    tbSendCount.Text = (Convert.ToInt32(tbSendCount.Text) + tbSendDataStr.Length).ToString();
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
                return;
            }
        }

        //设置串口属性
        private void SetPortProperty()
        {
            sp.PortName = cbxCOMPort.Text.Trim();//设置串口名
            sp.BaudRate = Convert.ToInt32(cbxBaudRate.Text.Trim());//设置波特率
            switch (cbxStopBits.Text.Trim())//设置停止位
            {
                case “1“: sp.StopBits = StopBits.One; break;
                case “1.5“: sp.StopBits = StopBits.OnePointFive; break;
                case “2“: sp.StopBits = StopBits.Two; break;
                default: sp.StopBits = StopBits.None; break;
            }
            sp.DataBits = Convert.ToInt32(cbxDataBits.Text.Trim());//设置数据位
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     52736  2017-03-16 17:02  串口助手sdd\.vs\串口助手sdd\v14\.suo

     文件        189  2017-03-07 13:22  串口助手sdd\串口助手sdd\App.config

     文件        172  2017-03-17 16:45  串口助手sdd\串口助手sdd\bin\Debug\confing.ini

     文件      27136  2017-03-17 16:43  串口助手sdd\串口助手sdd\bin\Debug\串口助手sdd.exe

     文件        189  2017-03-07 13:22  串口助手sdd\串口助手sdd\bin\Debug\串口助手sdd.exe.config

     文件      40448  2017-03-17 16:43  串口助手sdd\串口助手sdd\bin\Debug\串口助手sdd.pdb

     文件      22696  2017-03-17 16:29  串口助手sdd\串口助手sdd\bin\Debug\串口助手sdd.vshost.exe

     文件        189  2017-03-07 13:22  串口助手sdd\串口助手sdd\bin\Debug\串口助手sdd.vshost.exe.config

     文件        490  2012-06-06 02:06  串口助手sdd\串口助手sdd\bin\Debug\串口助手sdd.vshost.exe.manifest

     文件      22224  2017-03-17 16:43  串口助手sdd\串口助手sdd\Form1.cs

     文件      26032  2017-03-17 16:21  串口助手sdd\串口助手sdd\Form1.Designer.cs

     文件       6815  2017-03-17 16:21  串口助手sdd\串口助手sdd\Form1.resx

     文件       2077  2017-03-17 16:08  串口助手sdd\串口助手sdd\Methods.cs

     文件       1464  2017-03-07 15:11  串口助手sdd\串口助手sdd\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7248  2017-03-08 13:50  串口助手sdd\串口助手sdd\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2017-03-07 13:22  串口助手sdd\串口助手sdd\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2017-03-07 13:22  串口助手sdd\串口助手sdd\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2017-03-07 13:22  串口助手sdd\串口助手sdd\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件        951  2017-03-17 16:29  串口助手sdd\串口助手sdd\obj\Debug\串口助手sdd.csproj.FileListAbsolute.txt

     文件       1012  2017-03-17 16:22  串口助手sdd\串口助手sdd\obj\Debug\串口助手sdd.csproj.GenerateResource.Cache

     文件       2384  2017-03-07 14:03  串口助手sdd\串口助手sdd\obj\Debug\串口助手sdd.csprojResolveAssemblyReference.cache

     文件      27136  2017-03-17 16:43  串口助手sdd\串口助手sdd\obj\Debug\串口助手sdd.exe

     文件        180  2017-03-17 16:22  串口助手sdd\串口助手sdd\obj\Debug\串口助手sdd.Form1.resources

     文件      40448  2017-03-17 16:43  串口助手sdd\串口助手sdd\obj\Debug\串口助手sdd.pdb

     文件        180  2017-03-08 13:51  串口助手sdd\串口助手sdd\obj\Debug\串口助手sdd.Properties.Resources.resources

     文件        527  2017-03-07 13:22  串口助手sdd\串口助手sdd\Program.cs

     文件       1356  2017-03-07 13:22  串口助手sdd\串口助手sdd\Properties\AssemblyInfo.cs

     文件       2843  2017-03-07 13:22  串口助手sdd\串口助手sdd\Properties\Resources.Designer.cs

     文件       5612  2017-03-07 13:22  串口助手sdd\串口助手sdd\Properties\Resources.resx

     文件       1102  2017-03-07 13:22  串口助手sdd\串口助手sdd\Properties\Settings.Designer.cs

............此处省略17个文件信息

评论

共有 条评论