导航:首页 > 数据处理 > c如何读取串口数据

c如何读取串口数据

发布时间:2023-06-04 12:31:42

⑴ windows下怎么用C语言读取串口里的数据

Windows下的语言读取串口的数据,可以通过USB的一些特定连接。

⑵ C#如何获取USB串口设备的数据

System.IO.Ports中有一个SerialPort 类你可以研究一下
给你个代码看看吧
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Windows;
6 using System.Windows.Controls;
7 using System.Windows.Data;
8 using System.Windows.Documents;
9 using System.Windows.Input;
10 using System.Windows.Media;
11 using System.Windows.Media.Imaging;
12 using System.Windows.Navigation;
13 using System.Windows.Shapes;
14 using System.IO.Ports;
15
16 namespace CsharpComm
17 {
18 /// <summary>
19 /// Window1.xaml 的交互逻辑
20 /// </summary>
21 public partial class Window1 : Window
22 {
23 public Window1()
24 {
25 InitializeComponent();
26 }
27
28 //定义 SerialPort对象
29 SerialPort port1;
30
31 //初始化SerialPort对象方法.PortName为COM口名称,例如"COM1","COM2"等,注意是string类型
32 public void InitCOM(string PortName)
33 {
34 port1 = new SerialPort(PortName);
35 port1.BaudRate = 9600;//波特率
36 port1.Parity = Parity.None;//无奇偶校验位
37 port1.StopBits = StopBits.Two;//两个停止位
38 port1.Handshake = Handshake.RequestToSend;//控制协议
39 port1.ReceivedBytesThreshold = 4;//设置 DataReceived 事件发生前内部输入缓冲区中的字节数
40 port1.DataReceived += new (port1_DataReceived);//DataReceived事件委托
41 }
42
43 //DataReceived事件委托方法
44 private void port1_DataReceived(object sender, SerialDataReceivedEventArgs e)
45 {
46 try
47 {
48 StringBuilder currentline = new StringBuilder();
49 //循环接收数据
50 while (port1.BytesToRead > 0)
51 {
52 char ch = (char)port1.ReadByte();
53 currentline.Append(ch);
54 }
55 //在这里对接收到的数据进行处理
56 //
57 currentline = new StringBuilder();
58 }
59 catch(Exception ex)
60 {
61 Console.WriteLine(ex.Message.ToString());
62 }
63
64 }
65
66 //打开串口的方法
67 public void OpenPort()
68 {
69 try
70 {
71 port1.Open();
72 }
73 catch { }
74 if (port1.IsOpen)
75 {
76 Console.WriteLine("the port is opened!");
77 }
78 else
79 {
80 Console.WriteLine("failure to open the port!");
81 }
82 }
83
84 //关闭串口的方法
85 public void ClosePort()
86 {
87 port1.Close();
88 if (!port1.IsOpen)
89 {
90 Console.WriteLine("the port is already closed!");
91 }
92 }
93
94 //向串口发送数据
95 public void SendCommand(string CommandString)
96 {
97 byte[] WriteBuffer = Encoding.ASCII.GetBytes(CommandString);
98 port1.Write(WriteBuffer, 0, WriteBuffer.Length);
99 }
100
101 //调用实例
102 private void btnOpen_Click(object sender, RoutedEventArgs e)
103 {
104 //我现在用的COM1端口,按需要可改成COM2,COM3
105 InitCOM("COM1");
106 OpenPort();
107 }
108 }
109 }

阅读全文

与c如何读取串口数据相关的资料

热点内容
哪里找spss数据 浏览:346
申请的代理怎么注销 浏览:682
哪些产品有祛斑的效果 浏览:447
美国农业市场怎么样 浏览:347
换机联系方式怎么数据迁移 浏览:579
怎么注册一个品牌产品 浏览:263
抗衰老洁面产品的共性有哪些 浏览:515
北讯怎么交易不了啊 浏览:757
多道程序环境什么意思 浏览:34
有哪些奇葩的自热产品 浏览:538
有什么净水产品 浏览:476
做代理入股需要注意什么 浏览:933
什么样的数据是爆款视频 浏览:207
泰国宵夜市场有什么 浏览:593
如何核实学生餐卡的信息 浏览:976
数据库系统为什么不属于系统程序 浏览:866
白银人才市场在什么位置 浏览:502
东莞有哪些出口越南产品 浏览:291
如何开发海产品和农产品 浏览:430
c盘哪些数据可以删 浏览:618