• 大小: 62KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: C#
  • 标签:

资源简介

C#读取RS232串口扫描枪,可以实现多线程串口扫描枪输入

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;
namespace 串口线程接收更新控件
{
    public partial class Form1 : Form
    {
        public SerialPort myComPort = new SerialPort(“COM4“ 9600 Parity.None);
        Thread _readThread;
        bool _keepReading;
        public Form1()
        {
            InitializeComponent();
            //_keepReading = true;
            //_readThread = new Thread(ReceiveData);
            //_readThread.Start();
            myComPort.DataReceived += ReceiveData;
        }

        private void btnOpen_Click(object sender EventArgs e)
        {
            if (myComPort.IsOpen)
            {
                MessageBox.Show(“serialport COM4 has been opened!“);
            }
            else
            {
                myComPort.Open();
            }
        }

        private void btnClose_Click(object sender EventArgs e)
        {
            if (myComPort.IsOpen)
            {
                myComPort.Close();
            }
            else
            {
                MessageBox.Show(“SerialPort COM4 is not open!“);
            }
        }
        private void btnSend_Click(object sender EventArgs e)
        {
            string sSend = ““;
            sSend = textBox1.Text + “\r“;
            myComPort.Write(sSend);
        }
        private void ReceiveData(object sender SerialDataReceivedEventArgs e)
        {
            int n = myComPort.BytesToRead; 
            byte[] buf = new byte[n];
            myComPort.Read(buf 0 n);
            textBox2.Invoke
                (
                new EventHandler(
                    delegate
                    {
                        textBox2.Text = textBox2.Text + Encoding.ASCII.GetString(buf);
                    }
                    )
                );

        }
        private void ReadPort()
        {
            while( _keepReading && myComPort.IsOpen )
            {
                int n = myComPort.BytesToRead;
                byte[] buf = new byte[n];
                myComPort.Read(buf 0 n);
                textBox2.Invoke
                    (
                    new EventHandler(
                        delegate
                        {
                            textBox2.Text = textBox2.Text + Encoding.ASCII.GetString(buf);
                        }
                        )
                    );
            }
            
        }

        private void textBox2_TextChanged(object sender EventArgs e)
        {
            MessageBox.Show(“KEY DOWN!“);
            if (textBox2.Text[textBox2.TextLength - 2] == 0x0D && textBox2.Text[textBox2.TextLength - 1] == 0x0A)
            {
                MessageBox.Show(“input the ENTER!“);
      

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

    ..A..H.     48128  2017-02-06 17:03  串口线程接收更新控件\.vs\串口线程接收更新控件\v14\.suo

     文件        189  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\App.config

     文件      11264  2017-02-06 16:56  串口线程接收更新控件\串口线程接收更新控件\bin\Debug\串口线程接收更新控件.exe

     文件        189  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\bin\Debug\串口线程接收更新控件.exe.config

     文件      24064  2017-02-06 16:56  串口线程接收更新控件\串口线程接收更新控件\bin\Debug\串口线程接收更新控件.pdb

     文件      22696  2017-02-07 09:51  串口线程接收更新控件\串口线程接收更新控件\bin\Debug\串口线程接收更新控件.vshost.exe

     文件        189  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\bin\Debug\串口线程接收更新控件.vshost.exe.config

     文件        490  2015-07-10 19:01  串口线程接收更新控件\串口线程接收更新控件\bin\Debug\串口线程接收更新控件.vshost.exe.manifest

     文件       3053  2017-02-06 17:03  串口线程接收更新控件\串口线程接收更新控件\Form1.cs

     文件       5066  2017-02-06 16:41  串口线程接收更新控件\串口线程接收更新控件\Form1.Designer.cs

     文件       5817  2017-02-06 16:41  串口线程接收更新控件\串口线程接收更新控件\Form1.resx

     文件        868  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7492  2017-02-06 10:00  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件      15360  2017-02-06 09:54  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\Interop.MSCommLib.dll

     文件          0  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件       1626  2017-02-07 09:51  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\串口线程接收更新控件.csproj.FileListAbsolute.txt

     文件       1012  2017-02-06 16:41  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\串口线程接收更新控件.csproj.GenerateResource.Cache

     文件        773  2017-02-06 09:54  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\串口线程接收更新控件.csproj.ResolveComReference.cache

     文件       2384  2017-02-06 16:06  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\串口线程接收更新控件.csprojResolveAssemblyReference.cache

     文件      11264  2017-02-06 16:56  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\串口线程接收更新控件.exe

     文件        180  2017-02-06 16:41  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\串口线程接收更新控件.Form1.resources

     文件      24064  2017-02-06 16:56  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\串口线程接收更新控件.pdb

     文件        180  2017-02-06 16:06  串口线程接收更新控件\串口线程接收更新控件\obj\Debug\串口线程接收更新控件.Properties.Resources.resources

     文件        542  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\Program.cs

     文件       1368  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\Properties\AssemblyInfo.cs

     文件       2873  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\Properties\Resources.Designer.cs

     文件       5612  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\Properties\Resources.resx

     文件       1117  2017-02-06 09:42  串口线程接收更新控件\串口线程接收更新控件\Properties\Settings.Designer.cs

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

评论

共有 条评论

相关资源