C#, нужно получать данные от микроконтроллера
Здравствуйте, Добрые Молодцы.
Пытаясь получить данные от mk, используя событие DataReceived и handler, я делаю следующее -
нажмите кнопку на программе(код ниже), затем загорится светодиод на mk, затем данные должны быть отправлены обратно в программу (ожидая 1, на байтовом значении, но также попробовав строковое значение, не работает). Sending сторона работает, но получать.... не
кажется, я что-то упускаю. Любая помощь оценит это по достоинству. Спасибо в Далее
Я проверил с образцом консоли mdsn, я хорошо получаю данные.
Так что проблема, я думаю, в коде выше.
Есть образец:
https://msdn.microsoft.com/en-us/library/system.io.ports.serialport.datareceived(v=против 110). aspx
Что я уже пробовал:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO.Ports; namespace WindowsFormsApplication11 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e) // As i understood, here we configure where i data will be shown, // trying to get it on TextBox1 { SerialPort sp = (SerialPort)sender; richTextBox1.Text += sp.ReadExisting() + "\n"; } private void button1_Click(object sender, EventArgs e) // There are a main actions, first i receive data then send data by a click. { serialPort1.Write("\u0001"); serialPort1.Close(); System.ComponentModel.IContainer components = new System.ComponentModel.Container(); // serialPort1 = new System.IO.Ports.SerialPort(components); serialPort1.PortName = "COM4"; serialPort1.BaudRate = 9600; serialPort1.DtrEnable = true; serialPort1.Open(); serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); } } }
Richard MacCutchan
Код в вашем button1_Click
метод вышел из строя; как он вообще компилируется?