C# serialport

转载 2012年03月21日 16:21:11
using System;

using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;using System.IO.Ports; namespace CsharpComm { /// <summary> /// Window1.xaml 的交互逻辑 /// </summary> public partial class Window1 : Window { public Window1() { InitializeComponent(); } //定义 SerialPort对象 SerialPort port1; //初始化SerialPort对象方法.PortName为COM口名称,例如"COM1","COM2"等,注意是string类型 public void InitCOM(string PortName) { port1 = new SerialPort(PortName); port1.BaudRate = 9600;//波特率 port1.Parity = Parity.None;//无奇偶校验位 port1.StopBits = StopBits.Two;//两个停止位 port1.Handshake = Handshake.RequestToSend;//控制协议 port1.ReceivedBytesThreshold = 4;//设置 DataReceived 事件发生前内部输入缓冲区中的字节数 port1.DataReceived += new SerialDataReceivedEventHandler(port1_DataReceived);//DataReceived事件委托 } //DataReceived事件委托方法 private void port1_DataReceived(object sender, SerialDataReceivedEventArgs e) { try { StringBuilder currentline = new StringBuilder(); //循环接收数据 while (port1.BytesToRead > 0) { char ch = (char)port1.ReadByte(); currentline.Append(ch); } //在这里对接收到的数据进行处理 // currentline = new StringBuilder(); } catch(Exception ex) { Console.WriteLine(ex.Message.ToString()); } } //打开串口的方法 public void OpenPort() { try { port1.Open(); } catch { } if (port1.IsOpen) { Console.WriteLine("the port is opened!"); } else { Console.WriteLine("failure to open the port!"); } } //关闭串口的方法 public void ClosePort() { port1.Close(); if (!port1.IsOpen) { Console.WriteLine("the port is already closed!"); } } //向串口发送数据 public void SendCommand(string CommandString) { byte[] WriteBuffer = Encoding.ASCII.GetBytes(CommandString); port1.Write(WriteBuffer, 0, WriteBuffer.Length); } //调用实例 private void btnOpen_Click(object sender, RoutedEventArgs e) { //我现在用的COM1端口,按需要可改成COM2,COM3 InitCOM("COM1"); OpenPort(); } } }

                

c#中SerialPort类例子

public partial class Main : Form     {        // private string[] ports = { "COM1" };         pri...
  • woquNOKIA
  • woquNOKIA
  • 2014年11月07日 11:02
  • 617

C# winform 调用serialPort.Close(),页面挂死

接收的数据量比较大,关闭串口是会遇到页面挂死的情况,尝试过几种解决办法,但是问题任然没有解决 解决方法: C# winform serialPort.Close()死机...
  • u010693304
  • u010693304
  • 2017年08月18日 13:28
  • 229

浅谈SerialPort控件的使用(C#)

最近的一个小项目中需要从串口读取摄像机的应答指令,因此在程序中用到了SerialPort控件(使用SerialPort类也可以)。 在SerialPort控件的属性列表中主要注意3个地方: (1)Po...
  • ZHINENGABC123456
  • ZHINENGABC123456
  • 2017年04月12日 17:26
  • 1991

C#串口serialPort操作

现在大多数硬件设备均采用串口技术与计算机相连,因此串口的应用程序开发越来越普遍。例如,在计算机没有安装网卡的情况下,将本机上的一些信息数据 传输到另一台计算机上,那么利用串口通信就可以实现。运行本程序...
  • jsjpanxiaoyu
  • jsjpanxiaoyu
  • 2015年01月08日 02:11
  • 1806

C#的SerialPort Close时死机

尤其是在收发大量数据的时候关闭serialport容易发生程序假死, 解决方法是,避开收发事件,比如:       while (_doingReceipting){Application.doEv...
  • rocklee
  • rocklee
  • 2015年07月09日 16:19
  • 2346

c# SerialPort 简单介绍

命名空间:using System.IO.Ports; 该类提供了同步 I/O 和事件驱动的 I/O、对管脚和中断状态的访问以及对串行驱动程序属性的访问。 操作类声明: SerialPort ...
  • Blue___Ocean
  • Blue___Ocean
  • 2015年01月22日 10:10
  • 1196

C#串口SerialPort常用属性方法

SerialPort(): //属性 .BaudRate;获取或设置波特率 .BytesToRead;得到 接收到数据的字节数 .BytesToWrites;得到送往串口的字节数 .DataBits;...
  • u011854789
  • u011854789
  • 2016年07月13日 09:50
  • 10188

C# SerialPortHelper类

using System; using System.IO.Ports; class SerialPortHelper { private long _receiveByteCount =...
  • qq752923276
  • qq752923276
  • 2014年10月09日 16:24
  • 1659

C#自带的serialPort串口控件

//serialPort1.PortName = "COM4";                     serialPort1.PortName = ReadTenCom();//设置串口号,Re...
  • yanchun051278
  • yanchun051278
  • 2016年10月17日 10:40
  • 853

C#串口通信程序SerialPort类

上篇文章主要是关于串口通信中单片机部分的程序编写。在实际应用中,常常还要有上位机的配合才能完成工作。写串口通信的上位机程序,常常应用的编程语言有C++,VB,C#等。VB没有学过,C++编写窗口应用程...
  • xmfthu
  • xmfthu
  • 2012年08月23日 11:57
  • 6444
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# serialport
举报原因:
原因补充:

(最多只允许输入30个字)