آموزش استفاده از پورت سریال برای ارسال و دریافت اطلاعات در شبکه مودم gsm در سی شارپ
سلام دوستان
در این آموزش قصد داریم با استفاده از پورت سریال و مودم gsm در شبکه اطلاعات ارسال و دریافت کنیم
خوب مرحله اول باید یک پروژه ویندوز فرم بسازید
در مرحله دوم باید یک serialPort از تول باکس به فرم اضافه کنید
مرحله سوم فرم را به شکل زیر طراحی کنید
کد های زیر را در محل مورد نظر اضافه کنید
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.Threading.Tasks;
using System.Windows.Forms;
namespace COM
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//Get all ports
string[] ports = SerialPort.GetPortNames();
cboPort.Items.AddRange(ports);
cboPort.SelectedIndex = 0;
btnClose.Enabled = false;
}
private void btnOpen_Click(object sender, EventArgs e)
{
btnOpen.Enabled = false;
btnClose.Enabled = true;
try
{
//Open port
serialPort1.PortName = cboPort.Text;
serialPort1.Open();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void btnSend_Click(object sender, EventArgs e)
{
try
{
if (serialPort1.IsOpen)
{
//Send text to port
serialPort1.WriteLine(txtMessage.Text + Environment.NewLine);
txtMessage.Clear();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void btnClose_Click(object sender, EventArgs e)
{
btnOpen.Enabled = true;
btnClose.Enabled = false;
try
{
serialPort1.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void btnReceive_Click(object sender, EventArgs e)
{
try
{
if (serialPort1.IsOpen)
{
//Read text from port
txtReceive.Text = serialPort1.ReadExisting();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (serialPort1.IsOpen)
serialPort1.Close();
}
}
}
پایان.