C#实现串口通讯教程以及源码


C#实现与下位机进行串口通讯,资料里面有相应教程以及代码工程
资源截图
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using Microsoft.Win32;
using System.Threading;

namespace SerialPort_Assistant
{
    public partial class Form1:Form
    {
        SerialPort serialPort;
        System.Timers.Timer timerSendAuto;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender EventArgs e)
        {
            cbComList.DataSource = GetComList();
            cbBaudRateList.DataSource = GetRautBitsList();
            cbParityList.DataSource = GetParityList();
            cbDataBitsList.DataSource = GetDataBitsList();
            cbStopBitsList.DataSource = GetStopBitsList();
        }
        private void Form1_FormClosing(object sender FormClosingEventArgs e)
        {
            if (serialPort != null)
                if (serialPort.IsOpen)//澶勪簬鎵撳紑鐘舵€?
                {
                    serialPort.Close();
                    serialPort = null;
                }
            if (timerSendAuto != null)
            {
                timerSendAuto.Close();
                timerSendAuto.Dispose();
            }
        }
        //淇″彿鐏?
        private void picComState_Paint(object sender PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            Brush brush;
            if (serialPort == null)
                brush = Brushes.Red;
            else if (serialPort.IsOpen)
                brush = Brushes.Green;
            else
                brush = Brushes.Red;
            g.FillEllipse(brush e.ClipRectangle);
        }
        //鎵撳紑銆佸叧闂覆鍙?
        private void btnComOpen_Click(object sender EventArgs e)
        {
            if (serialPort == null)
            {
                serialPort = new SerialPort();
                serialPort.RtsEnable = true;
                serialPort.ReceivedBytesThreshold = 1;
                serialPort.ErrorReceived+=new SerialErrorReceivedEventHandler(serialPort_ErrorReceived);
                serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);
            }
            if (serialPort.IsOpen)//澶勪簬鎵撳紑鐘舵€?
            {
                serialPort.Close();
                if (timerSendAuto != null)
                    timerSendAuto.Stop();
            }
            else
            {
                try
                {
                    serialPort.PortName = cbComList.Text.Trim();
                    serialPort.BaudRate = int.Parse(cbBaudRateList.Text);
                    serialPort.Parity = (Parity)Enum.Parse(typeof(Parity) cbParityList.Text);
                    serialPort.DataBits = int.Parse(cbDataBitsList.Text);
                    serialPort.StopBits = (StopBits)Enum.Parse(typeof(StopBits) cbStopBitsList.Text);
                    serialPo

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      32768  2012-03-29 21:16  WindowsApplication1WindowsApplication1inDebugWindowsApplication1.exe

     文件      36352  2012-03-29 21:16  WindowsApplication1WindowsApplication1inDebugWindowsApplication1.pdb

     文件       5632  2005-11-11 22:25  WindowsApplication1WindowsApplication1inDebugWindowsApplication1.vshost.exe

     目录          0  2012-03-29 21:16  WindowsApplication1WindowsApplication1inDebug

     目录          0  2012-03-29 21:10  WindowsApplication1WindowsApplication1in

     文件      10297  2012-03-29 21:16  WindowsApplication1WindowsApplication1Form1.cs

     文件      19068  2012-03-29 21:11  WindowsApplication1WindowsApplication1Form1.Designer.cs

     文件       5817  2012-03-29 21:11  WindowsApplication1WindowsApplication1Form1.resx

     文件        180  2012-03-29 21:11  WindowsApplication1WindowsApplication1objDebugSerialPort_Assistant.Form1.resources

     目录          0  2012-03-29 21:10  WindowsApplication1WindowsApplication1objDebugTempPE

     文件        842  2012-03-29 21:11  WindowsApplication1WindowsApplication1objDebugWindowsApplication1.csproj.GenerateResource.Cache

     文件      32768  2012-03-29 21:16  WindowsApplication1WindowsApplication1objDebugWindowsApplication1.exe

     文件      36352  2012-03-29 21:16  WindowsApplication1WindowsApplication1objDebugWindowsApplication1.pdb

     文件        180  2012-03-29 21:11  WindowsApplication1WindowsApplication1objDebugWindowsApplication1.Properties.Resources.resources

     目录          0  2012-03-29 21:16  WindowsApplication1WindowsApplication1objDebug

     文件        873  2012-03-29 21:17  WindowsApplication1WindowsApplication1objWindowsApplication1.csproj.FileListAbsolute.txt

     目录          0  2012-03-29 21:11  WindowsApplication1WindowsApplication1obj

     文件        481  2012-03-29 21:12  WindowsApplication1WindowsApplication1Program.cs

     文件       1186  2012-03-29 21:10  WindowsApplication1WindowsApplication1PropertiesAssemblyInfo.cs

     文件       2894  2012-03-29 21:10  WindowsApplication1WindowsApplication1PropertiesResources.Designer.cs

     文件       5612  2012-03-29 21:10  WindowsApplication1WindowsApplication1PropertiesResources.resx

     文件       1104  2012-03-29 21:10  WindowsApplication1WindowsApplication1PropertiesSettings.Designer.cs

     文件        249  2012-03-29 21:10  WindowsApplication1WindowsApplication1PropertiesSettings.settings

     目录          0  2012-03-29 21:10  WindowsApplication1WindowsApplication1Properties

     文件       3245  2012-03-29 21:12  WindowsApplication1WindowsApplication1WindowsApplication1.csproj

     目录          0  2012-03-29 21:16  WindowsApplication1WindowsApplication1

     文件        946  2012-03-29 21:10  WindowsApplication1WindowsApplication1.sln

    ..A..H.     12800  2012-03-29 21:17  WindowsApplication1WindowsApplication1.suo

     目录          0  2012-03-29 21:10  WindowsApplication1

----------- ---------  ---------- -----  ----

............此处省略2个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)