My code is below. Any ideas as to why it does this?
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;
using System.IO.Ports;
using System.Threading;
namespace Relay_Controller
{
public partial class Form1 : Form
{
// Declares all variables
public SerialPort sp1;
public SerialPort sp2;
Form2 f2;
// dataReceived will be the buffer used to read data from the serial port
string dataReceived = string.Empty;
public Form1()
{
InitializeComponent();
// Opens Form2 first
f2 = new Form2(this);
f2.ShowDialog();
sp1.Open();
sp2.Open();
try
{
sp1.Write("\r\n");
sp2.Write("\r\n");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error");
}
this.sp1.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
this.sp2.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
}
public void createPort1(string com1Name)
{
sp1 = new SerialPort(com1Name, 57600);
}
public void createPort2(string com2Name)
{
sp2 = new SerialPort(com2Name, 57600);
}
void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
// Read data from serial
string data1 = sp1.ReadExisting();
string data2 = sp2.ReadExisting();
// Displays data received to the textbox
this.Invoke(new MethodInvoker(() =>
{
textBox1.Text += data1.Trim();
textBox1.Selectionstart = textBox1.Text.Length;
textBox1.ScrollToCaret();
textBox1.Text += data2.Trim();
textBox1.Selectionstart = textBox1.Text.Length;
textBox1.ScrollToCaret();
}));
}
catch (Exception ex)
{
MessageBox.Show("Data could not be read from the serial port." + ex.Message, "Error");
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (sp1.IsOpen | sp2.IsOpen)
{
sp1.Close();
sp2.Close();
}
}
private void allRelaysToggleBtn_Click(object sender, EventArgs e)
{
sp1.Write("RELS.GET");
sp1.Write("\r\n");
sp2.Write("RELS.GET");
sp2.Write("\r\n");
}
public void onSwitch()
{
sp1.Write("RELS.ON");
sp1.Write("\r\n");
sp2.Write("RELS.ON");
sp2.Write("\r\n");
}
public void offSwitch()
{
sp1.Write("RELS.ON");
sp1.Write("\r\n");
textBox1.Text = "\n";
sp2.Write("RELS.ON");
sp2.Write("\r\n");
textBox1.Text = "\n";
}
private void button1_Click(object sender, EventArgs e)
{
sp1.Write("REL1.ON");
sp1.Write("\r\n");
}
private void button13_Click(object sender, EventArgs e)
{
sp1.Write("REL1.OFF");
sp1.Write("\r\n");
}
private void button9_Click(object sender, EventArgs e)
{
sp2.Write("REL1.ON");
sp2.Write("\r\n");
}
private void button17_Click(object sender, EventArgs e)
{
sp2.Write("REL1.OFF");
sp2.Write("\r\n");
}
}
}

New Topic/Question
Reply




MultiQuote








|