السلام عليكــم ورحمـة الله وبركاتــة ،،طلب مني
مشروع تحكم عن طريق الكومبيوتر بحيث هنالك 10 دخل وعشرة خرج وانا بعمل على الميكرو 1usartلمهم أنا أرسلت واستقبلت بس مش قادر أكمل هنالك أخطاء وماني ضليع بالسي شارب هل يكمن أن نكمل مع بعض هذا المشروع وعذا هو الكود لحد الأن صغرت الكود ليستقبل ثلاث قيم أنا برسل 1:2:3
بس بدي
أرسل ممكن أرسل عشرييعني كمان 1أو 2أو 3
وكل قيمة تشغل شيء
والسلام عليكم يا أخوتي الأعزاء ولكم جزيل الشكر حتى ولو مارديتو
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace Anas
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SerialPort port = new SerialPort("Com1", 9600, Parity.None, 8, StopBits.One);
int in1 = 0;
private void sp2()
{
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
port.Open();
}
void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int s1 = port.ReadByte();
if (s1 == 1)
{
in1 = 1;
nn();
}
if (s1 == 2)
{
in1 = 2;
nn();
}
if (s1 == 3)
{
in1 = 3;
nn();
}
}
private void nn()
{
if (in1 == 1)
{
label1.BackColor = Color.Red;
label2.BackColor = Color.Black;
label3.BackColor = Color.Black;
return;
}
else if (in1 == 2)
{
label2.BackColor = Color.Red;
label1.BackColor = Color.Black;
label3.BackColor = Color.Black;
return;
}
else if (in1 == 3)
{
label3.BackColor = Color.Red;
label1.BackColor = Color.Black;
label3.BackColor = Color.Black;
return;
}
}
private void Form1_Load(object sender, EventArgs e)
{
sp2();
}
private void button1_Click(object sender, EventArgs e)
{
port.Close();
port.PortName = "COM1";
port.BaudRate = 9600;
port.DataBits = 8;
port.Parity = Parity.None;
port.StopBits = StopBits.One;
port.Open();
port.Write(new byte[] {0x08},0,1);
port.Close();
}
}
}