導航:首頁 > 數據處理 > 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如何讀取串口數據相關的資料

熱點內容
二手房買賣交易流程是什麼 瀏覽:939
充紅包銀行拒絕交易怎麼回事 瀏覽:195
抖音數據清空了怎麼恢復 瀏覽:470
技術學院指哪些 瀏覽:516
開店做什麼生意好加盟代理 瀏覽:31
增益開關技術是什麼 瀏覽:499
隱藏的程序什麼也看不見 瀏覽:818
工程技術專業能考什麼證書 瀏覽:359
百能的不銹鋼櫥櫃市場什麼價位 瀏覽:209
三岔口菜市場在哪裡 瀏覽:309
跳蚤市場圖書怎麼做 瀏覽:234
七月份的數據有什麼用 瀏覽:580
廢錫渣多少錢一公斤市場價 瀏覽:562
淘手游交易金額多少才能立案 瀏覽:782
如何做好帶貨小程序 瀏覽:77
2020年周邊有哪些新建農貿市場 瀏覽:284
塗料的產品怎麼樣 瀏覽:584
怎麼多循環一次程序 瀏覽:160
大商所交易系統是什麼 瀏覽:388
徐步天交易要多少天 瀏覽:23