C# Serial Communication не может получить текст
Я знаю, что есть другие темы о последовательной связи C#, но я действительно не могу найти ответ на свой вопрос. Так что мой Arduino печатает просто 1
Код Arduino:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print('1');
delay(200);
}
И я не могу получить сообщение правильно (я получил правильную ширину в бодах и все остальное), но я даже не получаю текст, который печатает Arduino, а также светодиод даже не мигает при отправке текста. Но это происходит, если я подключаюсь к COM-порту.
Код C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
getPorts();
}
void getPorts()
{
String[] ports = SerialPort.GetPortNames();
cBPort.Items.AddRange(ports);
}
private void btnOpen_Click(object sender, EventArgs e)
{
try
{
if (cBPort.Text == "" || cBPort.Text == "")
{
MessageBox.Show("pls select stuff", "");
}
else
{
SerialPort1.PortName = cBPort.Text;
SerialPort1.BaudRate = Convert.ToInt32(cbRate.Text);
SerialPort1.Open();
btnRead.Enabled = true;
btnSend.Enabled = true;
btnOpen.Enabled = false;
btnClose.Enabled = true;
txtBSend.Enabled = true;
}
}
catch(UnauthorizedAccessException)
{
MessageBox.Show("UnauthorizedAccessException", "idk");
}
}
private void btnClose_Click(object sender, EventArgs e)
{
SerialPort1.Close();
btnRead.Enabled = false;
btnSend.Enabled = false;
btnOpen.Enabled = true;
btnClose.Enabled = false;
txtBSend.Enabled = false;
timer1.Stop();
}
private void btnSend_Click(object sender, EventArgs e)
{
SerialPort1.WriteLine(txtBSend.Text);
txtBSend.Text = "";
}
private void btnRead_Click(object sender, EventArgs e)
{
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (SerialPort1.IsOpen)
{
string R = SerialPort1.ReadExisting();
txtBRead.Text = R;
}
}
}
}