Com порты для чайников - C#
Формулировка задачи:
Здравствуйте, не получается организовать вывод данных, принятых с com порта, в textbox.
настройки порта
Ругается на Передача данных в com порт происходит без проблем, а вот чтение не выходит
namespace Arduino { public partial class Form1 : Form { public Form1() { InitializeComponent(); serialPort1.Close(); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (serialPort1.IsOpen) serialPort1.Close(); } private void BtnLED13on_Click(object sender, EventArgs e) { if (CbOnOff.Checked) { serialPort1.Write("13PinOn"); TextBoxLED.Text = "Питание на 13 пин подано"; } else { } } private void BtnLED13off_Click(object sender, EventArgs e) { if (CbOnOff.Checked) { serialPort1.Write("13PinOff"); TextBoxLED.Text = "Питание на 13 пин отключено"; } else { } } private void BtnLED13mig_Click(object sender, EventArgs e) { if (CbOnOff.Checked) { serialPort1.Write("13PinPulse"); TextBoxLED.Text = "Питание на 13 пин мигает"; } else { } } private void CbOnOff_CheckedChanged(object sender, EventArgs e) { if (TXLOG.Text == "" && TXPASS.Text == "") { if (CbOnOff.Checked) { MessageBox.Show("Изменения разрешены"); serialPort1.Open(); } else { MessageBox.Show("Изменения ЗАПРЕЩЕНЫ"); serialPort1.Close(); } } else { MessageBox.Show("АВТОРИЗУЙТЕСЬ!"); CbOnOff.Checked = false; } } private void button1_Click(object sender, EventArgs e) { serialPort1.Write("Cmd:"+TBconsole.Text); } private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e) { string readstring; readstring = serialPort1.ReadLine(); TBconsole.AppendText(readstring); } } }
this.serialPort1.DtrEnable = true; this.serialPort1.PortName = "COM4"; this.serialPort1.ReadTimeout = 500; this.serialPort1.WriteTimeout = 500; this.serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.DataReceivedHandler);
TBconsole.AppendText(readstring);
Решение задачи: «Com порты для чайников»
textual
Листинг программы
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e) { string newText; newText = serialPort1.ReadLine(); if (TBconsole.InvokeRequired) { TBconsole.Invoke(new Action<string>((s) => TBconsole.Text = s), newText); } else { TBconsole.Text = newText; } if (newText == "a") { TBout.Text = "АКТИВИРОВАН ПЕРВЫЙ РЕЖИМ РАБОТЫ"; } if (newText == "b") { TBout.Text = "АКТИВИРОВАН ВТОРОЙ РЕЖИМ РАБОТЫ"; } if (newText == "c") { TBout.Text = "АКТИВИРОВАН ТРЕТИЙ РЕЖИМ РАБОТЫ"; } if (newText == "d") { TBout.Text = "АКТИВИРОВАН ЧЕТВЕРТЫЙ РЕЖИМ РАБОТЫ"; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д