資源簡介
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個文件信息
- 上一篇:C#的皮爾遜Ⅲ型曲線計算
- 下一篇:Sockets實現服務器與多個客戶端進行通訊
評論
共有 條評論