我无法使用Visual Studio 2017(C#)通过串口发送数据

时间:2017-04-06 08:14:59

标签: c# visual-studio serial-communication

我尝试制作一个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,但代码没有用。

提前致谢!

0 个答案:

没有答案