Não estou a conseguir ler o que o Arduíno envia, estou a usar este código, já experimentei com o ReadChar, ReadExisting entre outros e nada, será que alguém me pode ajudar e ver se tenho aqui alguma coisa mal no código?
namespace teste_m
{
public partial class Form1 : Form
{
public Form1()
{ InitializeComponent();
}
SerialPort porta;
private void Form1_Load(object sender, EventArgs e)
{
porta = new SerialPort("COM11", 9600);
porta.ReadTimeout = 10;
porta.Open();
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
try
{
listBox1.Items.Add(porta.ReadChar().ToString()+System.DateTime.Now);
}
catch
{
}
}
} }
Tags:
Não tenho o C# mas isso está parecendo que você não definiu corretamente as FLAGs do componente que faz a leitura da serial.
Eu quando utilizo tenho que ligar uma FLAG para executar o evento READ quando chegar um determinado caracter, eu sempre coloco o #10 (retorno de linha), de uma olhada nisso
Nunca vi nada de C#, mas já recebi dados do arduino usando outras linguagens (C e PHP) e funcionou muito bem. Pesquise sobre as funções:
fopen("COM11", "r"); // Abre a porta em mode de apenas leitura
fgetc(); // Lê os valores passados pela porta, e retorna em inteiro (Você poderá exibir da maneira que quiser, pois os números tem valores na tabela ASCII)
Espero que ajude!
A diferença do C e do PHP para o C# é que ele precisa usar um evento, pode ser a leitura de um (1) caracter ou BYTE ou a recepção de um caracter específico
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por