- 浏览: 281047 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
weituotian:
这篇文章真的很好阿
C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 -
clshuai:
博主,你好,看了你的这篇文章,让我很敬佩。可谓内容之全,涵盖范 ...
C#操作Excel -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题
发送串口数据: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO.Ports; namespace SendData { class Program { static void Main(string[] args) { SerialPort port = new SerialPort(); Console.WriteLine("串口(如COM1):"); port.PortName = Console.ReadLine(); Console.WriteLine("波特率:"); port.BaudRate = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("数据位:"); port.DataBits = Convert.ToInt32(Console.ReadLine()); int stopBits = 0; Console.WriteLine("停止位:"); stopBits = Convert.ToInt32(Console.ReadLine()); switch (stopBits) { case 0: port.StopBits = StopBits.None; break; case 1: port.StopBits = StopBits.One; break; case 2: port.StopBits = StopBits.Two; break; default: port.StopBits = StopBits.None; break; } try { port.Open(); string sendData=""; bool exitFlag=false; while (exitFlag == false) { Console.WriteLine("要发送的数据:"); sendData = Console.ReadLine(); if (sendData.CompareTo("exit") == 0) break; else port.WriteLine(sendData); } port.Close(); } catch(Exception e) { Console.WriteLine(e.Message); Console.ReadLine(); } } } } 接受串口数据: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO.Ports; namespace RecvData { class Program { static void Main(string[] args) { SerialPort port = new SerialPort(); Console.WriteLine("串口(如COM1):"); port.PortName = Console.ReadLine(); Console.WriteLine("波特率:"); port.BaudRate = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("数据位:"); port.DataBits = Convert.ToInt32(Console.ReadLine()); int stopBits = 0; Console.WriteLine("停止位:"); stopBits = Convert.ToInt32(Console.ReadLine()); switch (stopBits) { case 0: port.StopBits = StopBits.None; break; case 1: port.StopBits = StopBits.One; break; case 2: port.StopBits = StopBits.Two; break; default: port.StopBits = StopBits.None; break; } try { port.Open(); bool exitFlag = false; int n = 0; while (exitFlag == false) { Console.WriteLine(port.ReadLine()); n++; if (n == 999999) { Console.WriteLine("是否继续?(y/s)"); string ans = Console.ReadLine(); if (ans.CompareTo("y") == 0) exitFlag = true; else n = 0; } } port.Close(); } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadLine(); } } } }
发表评论
-
C#获取本地IP
2012-06-06 14:39 928/// <summary> ... -
只能启动单个程序
2012-05-04 12:51 804bool ret; System. ... -
.Net控件命名规范
2012-04-25 14:45 800<!--------------A----------- ... -
DataGridView绑定数据时,时间格式显示不全的问题
2012-04-25 13:54 1018DataGridView绑定数据时,时间格式显示问题 今天做 ... -
把Dgv的颜色改回默认颜色
2012-04-25 13:35 946dgv.Rows[i].DefaultCellStyle.Ba ... -
Winform 去掉 最大化 最小化 关闭按钮 保留左侧图片
2012-04-23 17:02 1180using System; using System.Col ... -
禁用窗体的关闭按钮
2012-04-23 16:58 868[DllImport("USER32 ... -
c#中用声音提示报警
2012-03-14 09:51 1755using System; using System.Ru ... -
WinForm 查看控制台输出
2012-02-15 10:39 1303/// <summary> ... -
C# 启动外部程序的几种方法
2011-10-17 19:15 7441. 启动外部程序,不等待其退出。2. 启动外部程序,等待其退 ... -
解决VS2005不能调试线程问题
2011-08-12 12:33 2392昨天突然VS2005不能调试线程,网上找了很多方法都不行,后来 ... -
通过域名获取IP的两种方法
2011-07-16 15:09 1845//每次都去Dns服务器上 ... -
执行命名行命令
2011-07-16 14:41 701/// <summary> / ... -
获取指定目录下所有文件
2011-07-01 20:48 1472命名空间 using System.Collections; ... -
C#控制Excel的打印格式
2011-06-22 20:54 3718Excel.Application appExcel=n ... -
C#操作Excel
2011-06-22 14:28 1615using System; using System. ... -
C# 操作Excel的类
2011-06-22 14:20 1360using System; using Micro ... -
DataGridView刷新数据的问题
2011-06-21 11:39 42281、操作:UI线程修改数据后重新绑定dgv,一个后台线程定时刷 ... -
VS2005水晶报表注册码
2011-06-18 13:40 7206707437608 -
按Enter键时,焦点移到下一个控件
2011-06-18 10:06 1234#region 按Enter键时,焦点移 ...
相关推荐
根据提供的压缩包文件名"ComPortsTest",可能包含了一个示例项目或代码,该示例可能演示了如何在C#中建立串口通信,包括选择串口号、设置参数、发送和接收数据等步骤。 10. **异常处理** 串口通信可能会遇到各种...
总结来说,C#实现串口发送接收数据涵盖了从基本串口配置到数据传输协议的多个层次。理解并掌握这些知识对于进行设备间通信、嵌入式系统开发或物联网应用是至关重要的。通过实践和学习提供的项目文件,开发者可以...
C# 串口发送与接收数据操作类详解 C# SerialPort 串口发送与接收数据操作类是指通过使用 C# 语言中的 SerialPort 类来实现串口的发送和接收数据操作。该类提供了完整的串口操作功能,包括串口的打开、关闭、发送...
与标题和描述提到的“C#串口发送和接收”似乎并无直接关联,但我们可以从串口通信的角度出发,结合这部分代码的逻辑,探讨如何在C#中实现串口的发送和接收功能。 ### C#中的串口发送与接收 #### 1. 引入命名空间 ...
### C#串口发送接收程序知识点详解 #### 一、串口通信基础知识 在深入了解C#串口发送接收程序之前,我们先来了解一些串口通信的基础知识。 **串行通信**是一种数据传输方式,其中数据是按顺序一位一位地传输的。...
在C#中,可以通过串口发送AT指令,等待响应,解析返回结果来实现短信的发送。例如,发送一条短信的AT指令可能为"AT+CMGS='电话号码'\r\n短信内容",然后监听串口接收AT命令的回应,确认短信发送成功。 在"smsForC#...
6. **界面设计**:描述中提到的“串口助手”风格的应用,通常会有显示接收数据的文本框,发送数据的输入框以及发送按钮。这些元素可以通过Windows Forms或WPF进行设计,与SerialPort类交互以实现数据的实时显示和...
例如,为了确保串口操作的线程安全,可以在发送或接收数据时加锁: ```csharp object lockObj = new object(); private void SendData(string data) { lock (lockObj) { if (serialPort.IsOpen) { serialPort...
用C#编写的用ASCII码发送的串口通信程序
### C#串口通信详解与数据丢失问题的解决方法 #### 概述 串口通信是一种常见的设备间数据传输方式,在工业控制、自动化测试等领域应用广泛。然而,在使用C#进行串口通信开发时,很多开发者都遇到过数据丢失的问题...
`将向串口发送字符串。 4. **接收数据**: - 使用`SerialPort.Read()`或`SerialPort.ReadLine()`方法接收数据。`Read()`读取单个字符或指定长度的数据,`ReadLine()`则读取到换行符为止的一整行。 - 可以注册`...
`System.IO.Ports.SerialPort`是.NET Framework提供的一个类库,它为开发者提供了一套方便的API来操作串行端口,包括打开、关闭、设置波特率、数据位、停止位、校验位等配置,以及发送和接收数据。 1. **异步接收...
总结来说,C#中的串口通信涉及创建SerialPort对象、配置串口参数、设置事件处理程序、打开和关闭串口以及发送和接收数据等步骤。通过以上步骤,你可以实现与硬件设备之间的双向通信,为你的应用提供基础的串口交互...
综上所述,通过C#上位机编程,我们可以实现串口通信,接收下位机(如FPGA频率计)发送的数据,并利用绘图功能将这些数据实时展示为曲线图表。这个过程涉及到了C#的基础编程、串口通信技术、上位机编程原理以及数据...
例如,我们可以创建一个SerialPort类,封装串口操作的方法,如打开、关闭串口,设置波特率、数据位、停止位等参数,以及发送和接收数据的函数。 在Unity中实现串口通信,需要引用System.IO.Ports命名空间,其中包含...
5. **接收数据**:DataReceived事件处理函数中,通常会使用SerialPort对象的ReadLine()或ReadExisting()方法读取接收到的数据。 ```csharp private static void DataReceivedHandler(object sender, ...
这个简单的C# Winform串口发送数据案例展示了如何在Windows环境中创建一个交互式的串口通信工具。通过学习和实践这个案例,你可以了解串口通信的基础知识,并为更复杂的嵌入式系统开发打下基础。对于标签中提到的STM...
2. **发送消息**:通过SerialPort类的Write()方法,我们可以向串口发送字符串或字节数组。例如,发送字符串"Hello, World!": ```csharp port.Write("Hello, World!"); ``` 3. **接收消息**:使用SerialPort类的...
本教程将深入探讨如何在C#中实现串口接收数据,并将接收到的数据整理成Excel表格。 首先,我们需要导入`System.IO.Ports`命名空间,这个命名空间包含了处理串口通信所需的所有类。接着,我们可以创建一个`...
在本文中,我们将深入探讨如何使用C#进行串口通信,以及如何实现定时发送数据、接收数据处理、在Chart图表上展示数据,并最终保存图表。串口通信是计算机硬件之间交换数据的一种常见方式,尤其在嵌入式系统和工业...