导航:首页 > 数据处理 > 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如何读取串口数据相关的资料

热点内容
医夫子的产品怎么样 浏览:656
中国银行扣款信息在哪里设置 浏览:583
耐克回收什么产品 浏览:816
猫吐虫了买什么产品 浏览:270
文案推广产品怎么写 浏览:574
舒畅医用冷敷凝胶怎么代理 浏览:950
打工学什么比较有点技术 浏览:363
苹果为什么重视中国市场 浏览:133
注射新冠疫苗多久能查询到信息 浏览:330
鲁证期货交易如何查周单 浏览:197
如何建立产品网页 浏览:795
紫色面膜代理需要多少钱 浏览:424
变频器数据如何传输 浏览:570
唐山能学什么技术 浏览:8
宁波菜市场搬迁到哪里 浏览:784
产品顾问有什么意思 浏览:929
我家的小程序可以用来看什么 浏览:215
答应条件如何表达不是在做交易 浏览:940
什么技术工资高简单 浏览:723
泉州建材市场在哪里 浏览:933