CSharp com Arduno, comunicação serial.
30/08/2017
0
Preciso receber os valores da porta COM6 (essa porta recebe um valor de um sensor de movimento (PIR) e preciso desse valor no C#). Porem não consigo puxar esse valor de jeito nenhum. O ideial é que pegasse o valor em tempo real mas não consigo nem chamando um metodo.
O que eu tentei fazer:
public partial class Form1 : Form
{
SerialPort con = new SerialPort("COM6", 9600);
delegate void funcaoSerial();
public Form1()
{
InitializeComponent();
con.DataReceived += new SerialDataReceivedEventHandler(con_DataReceived);
}
void con_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
funcaoSerial AddSerial = new funcaoSerial(RecSerial);
Invoke(AddSerial);
}
public void RecSerial()
{
con.Open();
txtCon.Text += con.ReadExisting();
}
-------------------- Tentei criar funções do tipo: ---------------------------------------
public void PIR()
{
SerialPort con = new SerialPort("COM6" , 9600);
con.Open();
a = con.ReadLine();
if (a == "1")
{
picture_test.Image = Image.FromFile(@"F:\\Ygu\\Estudo\\Testes\\TestandoConexao\\Imagens\\green_btn.png");
}
else
{
picture_test.Image = Image.FromFile(@"F:\\Ygu\\Estudo\\Testes\\TestandoConexao\\Imagens\\red_btn.png");
}
con.Close();
}
public Thread PIR3 = new Thread(() =>
{
Form1 test = new Form1();
SerialPort con = new SerialPort("COM6", 9600);
con.Open();
string a = con.ReadLine();
if (a == "1")
{
test.picture_test.Image = Image.FromFile(@"F:\\Ygu\\Estudo\\Testes\\TestandoConexao\\Imagens\\green_btn.png");
}
else
{
test.picture_test.Image = Image.FromFile(@"F:\\Ygu\\Estudo\\Testes\\TestandoConexao\\Imagens\\red_btn.png");
}
con.Close();
});
Nada funcionou.
O que eu tentei fazer:
public partial class Form1 : Form
{
SerialPort con = new SerialPort("COM6", 9600);
delegate void funcaoSerial();
public Form1()
{
InitializeComponent();
con.DataReceived += new SerialDataReceivedEventHandler(con_DataReceived);
}
void con_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
funcaoSerial AddSerial = new funcaoSerial(RecSerial);
Invoke(AddSerial);
}
public void RecSerial()
{
con.Open();
txtCon.Text += con.ReadExisting();
}
-------------------- Tentei criar funções do tipo: ---------------------------------------
public void PIR()
{
SerialPort con = new SerialPort("COM6" , 9600);
con.Open();
a = con.ReadLine();
if (a == "1")
{
picture_test.Image = Image.FromFile(@"F:\\Ygu\\Estudo\\Testes\\TestandoConexao\\Imagens\\green_btn.png");
}
else
{
picture_test.Image = Image.FromFile(@"F:\\Ygu\\Estudo\\Testes\\TestandoConexao\\Imagens\\red_btn.png");
}
con.Close();
}
public Thread PIR3 = new Thread(() =>
{
Form1 test = new Form1();
SerialPort con = new SerialPort("COM6", 9600);
con.Open();
string a = con.ReadLine();
if (a == "1")
{
test.picture_test.Image = Image.FromFile(@"F:\\Ygu\\Estudo\\Testes\\TestandoConexao\\Imagens\\green_btn.png");
}
else
{
test.picture_test.Image = Image.FromFile(@"F:\\Ygu\\Estudo\\Testes\\TestandoConexao\\Imagens\\red_btn.png");
}
con.Close();
});
Nada funcionou.
Ygor Mattos
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)