السلام عليكم اخوانى الاعزاء ... انا عندى مشكلة فى استقبال البيانات سيريال من البيك بلغة الميكرو سى الى textbox فى فورمة سى شارب
البرنامج ببساطه عندى تكست بوكس فى فورمة السى شارب ارسل فيها البيانات للميكرو وهذا يتم بنجاح
اما المشكلة عندى فى اعادة ارسال البيانات من البيك الى السى شارب فلا يستقبلها السى شارب فى ال textbox المخصص للاستقبال
وهذا كود الميكرو سى
char x;
void main() {
trisb=0;
portb=0;
UART1_Init(9600); // Initialize UART module at 9600 bps
Delay_ms(100); // Wait for UART module to stabilize
while (1) {
if (UART1_Data_Ready())
{
x= UART1_Read();
if(x=='x')
{UART1_Write(x);
portb.b0=1;
delay_ms(1000);
portb.b0=0;
delay_ms(1000);
}
if(x=='y')
{ UART1_Write(x);
portb.b1=1;
delay_ms(1000);
portb.b1=0;
delay_ms(1000);
}
}
}
}
|
وهذا كود السى شارب
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_belal
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
}
publicstring z;
privatevoid button1_Click(object sender, EventArgs e)
{
serialPort1.PortName = "COM" + textBox1.Text;
serialPort1.BaudRate = 9600;
try
{
serialPort1.Open();
}
catch
{
MessageBox.Show("No serial Found");
}
if (serialPort1.IsOpen)
{
button1.Enabled = false;
button1.Text = "Connected..";
button2.Enabled = true;
textBox1.Enabled = false;
button2.Text = "Disconnect";
}
}
privatevoid button2_Click(object sender, EventArgs e)
{
if (serialPort1.IsOpen)
{
serialPort1.Close();
button1.Enabled = true;
button1.Text = "Connect";
button2.Enabled = false;
button2.Text = "Disconnected";
textBox1.Enabled = true;
}
}
privatevoid button3_Click(object sender, EventArgs e)
{
serialPort1.Write(textBox2.Text);
}
privatevoid textBox3_TextChanged(object sender, EventArgs e)
{
}
privatevoid Form1_Load(object sender, EventArgs e)
{
}
}
}
}
}
|