0
خواندن از پورت Com توسط اسکنر بارکد
سلام ...
دوستان کسی میتونه منو راهنمایی کنه که چطور میتونم از Com 5 وقتی اسکنر بارکد اسکن کرد اون مقدار اسکن شده را درون یک متغیر بریزم با C# ؟؟
ممنون از دوستان اگه کسی بتونه راهنمایی کنه ؟؟
3 پاسخ
0
ممنون از جواب شما من همین کدها را دارم و بارکد اسکنر من روی کامپورت 5 هستش اما هی میگه پورت در حال استفاده هیتش و زمانی که اسکن میکنم چیزی اسکن نمیکنه ..... که داخل تکست باکس نشون بده .....
0
این بار از کلمه using برای خواندن استفاده کنید برای مثال
using (SerialPort port = new SerialPort("COM5", 9600, Parity.None, 8, StopBits.One)) { port.Open(); port.Write("n"); }
0
با سلام به شما Itpro ای عزیز.
برای این کار شما می توانید یک فرم داشته باشید که یک دکمه و کادر متن داشته باشد و سپس کد زیر را برای آن بنویسید. کد زیر برای خواندن و نوشتن با com1 تنظیم شده است.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; using System.IO.Ports; namespace BCReader { public partial class Form1 : Form { public Form1() { InitializeComponent(); } SerialPort _serialPort; // delegate is used to write to a UI control from a non-UI thread private delegate void SetTextDeleg(string text); private void Form1_Load(object sender, EventArgs e) { // all of the options for a serial device // can be sent through the constructor of the SerialPort class // PortName = "COM1", Baud Rate = 19200, Parity = None, // Data Bits = 8, Stop Bits = One, Handshake = None _serialPort = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One); _serialPort.Handshake = Handshake.None; _serialPort.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived); _serialPort.ReadTimeout = 500; _serialPort.WriteTimeout = 500; _serialPort.Open(); } private void btnStart_Click(object sender, EventArgs e) { // Makes sure serial port is open before trying to write try { if (!_serialPort.IsOpen) _serialPort.Open(); _serialPort.Write("SI\r\n"); } catch (Exception ex) { MessageBox.Show("Error opening/writing to serial port :: " + ex.Message, "Error!"); } } void sp_DataReceived(object sender, SerialDataReceivedEventArgs e) { Thread.Sleep(500); string data = _serialPort.ReadLine(); this.BeginInvoke(new SetTextDeleg(si_DataReceived), new object[] { data }); } private void si_DataReceived(string data) { textBox1.Text = data.Trim(); } } }