بسم الله الرحمن الرحيم
نبدأ الان في شرح و عمل برنامج يرسل بيانات من الكمبيوتر لل PIC با ستخدام لغة السي شارب و ان شاء الله الموضوع اسهل بكثيررر من الجافا>>
صورة البرنامج المنتج
اولا الكود الكامل للمشروع

كود:
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.IO.Ports;
namespace Serial_send
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();//انشاء و عمل مكونات ال form
}
private void button1_Click(object sender, EventArgs e)
{
string[] ports = SerialPort.GetPortNames();
foreach (string port in ports)
{
comboBox1.Items.Add(port);
}
}
private void button2_Click(object sender, EventArgs e)
{
string t = comboBox1.Text.ToString();
string s = textBox1.Text.ToString();
sErial(t, s);
}
void sErial(string Port_name, string data_send)
{
SerialPort sp = new SerialPort(Port_name, 9600, Parity.None, 8, StopBits.One);
sp.Open();
sp.Write(data_send);
sp.Close();
}
}
}
ثانيا شرح الكود:-
كود:
private void button1_Click(object sender, EventArgs e)
{
الدالة التى تنفذ عند الضغط علي زر البحث -button1- وبداخلها يحدث الاتي
ا-
كود:
string[] ports = SerialPort.GetPortNames();
هذا السطر مسئول عن اخذ اسماء البورتات و نضعها في مصوفة من النوع string باستخدام دالة GetPortNames في كلاسSerialPort
ب-
كود:
foreach (string port in ports)
{
comboBox1.Items.Add(port);
}
في هذه الاسطر يتم اضافة اسماء البورتات الموجودة في مصفوفة ال ports و وضعها في ال comboBox1 -هذه ال for مثل ال for المعتادة و لكن هذه ابسط في التعامل مع المصفوفات و تسمى enhanced for
3-
كود:
private void button2_Click(object sender, EventArgs e)
{
الدالة التى تنفذ عند الضغط علي زر الارسال -button2- وبداخلها يحدث الاتي
ا-
كود:
string t = comboBox1.Text.ToString();
هذا السطر مسئول عن اخذ اسم البورت الذا اخترناه من ال comboBox1 و وضعه في string t
ب-
كود:
string s = textBox1.Text.ToString();
هذا السطر مسئول عن اخذ البيانات المراد ارسالها ووضعها في string s
ج-
في هذه السكر تنادي علي دالة قمت بعملها داخل الكلاس تسمي sErial وارسل لتلك الدالة اسم البورت و البيانات المرسلة
التكملة في التعليق القادم