我尝试制作一个Windows应用程序,我遇到了C#串口通信的问题。我已经阅读了很多关于它的文章并观看了很多youtube教程,但是沟通仍然没有奏效。我在Windows 8.1系统上使用Visual Studio 2017(社区)。问题是,我的代码可以打开串口,它可以关闭它但是当我尝试在它们之间发送数据时,没有任何反应。为了测试,我使用了TeraTerm并将一些字节发送到我的微控制器,micorC可以接收它。但正如我所说的,我的代码没有任何反应。我的代码是:
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 Cucc
{
public partial class Form1 : Form
{
byte[] d = new byte[1] { 0x0d };
byte[] a = new byte[1] { 0x0a };
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
serialPort1 = new SerialPort();
serialPort1.PortName = "COM4";
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8;
serialPort1.StopBits = StopBits.One;
serialPort1.Parity = Parity.None;
serialPort1.Open();
}
private void button2_Click(object sender, EventArgs e)
{
// Try to send some stuff here
serialPort1.WriteLine("1");
serialPort1.Write(a, 0, 1);
serialPort1.Write(d, 0, 1);
}
private void button3_Click(object sender, EventArgs e)
{
serialPort1.Close();
}
}
}
我的微控制器始终连接到COM4端口(每次连接时,我都会检查端口)。有谁有任何想法,为什么我不能发送数据?我也试过Microsoft Visual C#2008 Express Edition,但代码没有用。
提前致谢!