91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 61KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2022-06-24
  • 語言: C#
  • 標簽: c#??serialport??sample??

資源簡介

http://blog.csdn.net/wuyazhe/archive/2010/05/27/5627253.aspx 博客文章的配套代碼。希望能幫助到你。 vs2010工程,編碼都只是用到vs2005的語法,可以反向升級。

資源截圖

代碼片段和文件信息

using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;
using?System.IO.Ports;
using?System.Text.Regularexpressions;

namespace?SerialportSample
{
????public?partial?class?SerialportSampleForm?:?Form
????{
????????private?SerialPort?comm?=?new?SerialPort();
????????private?StringBuilder?builder?=?new?StringBuilder();//避免在事件處理方法中反復的創建,定義到外面。
????????private?long?received_count?=?0;//接收計數
????????private?long?send_count?=?0;//發送計數
????????private?bool?Listening?=?false;//是否沒有執行完invoke相關操作
????????private?bool?Closing?=?false;//是否正在關閉串口,執行Application.DoEvents,并阻止再次invoke
????????private?List?buffer?=?new?List(4096);//默認分配1頁內存,并始終限制不允許超過
????????private?byte[]?binary_data_1?=?new?byte[9];//AA?44?05?01?02?03?04?05?EA

????????public?SerialportSampleForm()
????????{
????????????InitializeComponent();
????????}

????????//窗體初始化
????????private?void?Form1_Load(object?sender?EventArgs?e)
????????{
????????????//初始化下拉串口名稱列表框
????????????string[]?ports?=?SerialPort.GetPortNames();
????????????Array.Sort(ports);
????????????comboPortName.Items.AddRange(ports);
????????????comboPortName.SelectedIndex?=?comboPortName.Items.Count?>?0???0?:?-1;
????????????comboBaudrate.SelectedIndex?=?comboBaudrate.Items.IndexOf(“19200“);

????????????//初始化SerialPort對象
????????????comm.NewLine?=?“\r\n“;
????????????comm.RtsEnable?=?true;//根據實際情況吧。

????????????//添加事件注冊
????????????comm.DataReceived?+=?comm_DataReceived;
????????}

????????void?comm_DataReceived(object?sender?SerialDataReceivedEventArgs?e)
????????{
????????????if?(Closing)?return;//如果正在關閉,忽略操作,直接返回,盡快的完成串口監聽線程的一次循環
????????????try
????????????{
????????????????Listening?=?true;//設置標記,說明我已經開始處理數據,一會兒要使用系統UI的。
????????????????int?n?=?comm.BytesToRead;//先記錄下來,避免某種原因,人為的原因,操作幾次之間時間長,緩存不一致
????????????????byte[]?buf?=?new?byte[n];//聲明一個臨時數組存儲當前來的串口數據
????????????????received_count?+=?n;//增加接收計數
????????????????comm.Read(buf?0?n);//讀取緩沖數據

????????????????/////////////////////////////////////////////////////////////////////////////////////////////////////////////
????????????????//<協議解析>
????????????????bool?data_1_catched?=?false;//緩存記錄數據是否捕獲到
????????????????//1.緩存數據
????????????????buffer.AddRange(buf);
????????????????//2.完整性判斷
????????????????while?(buffer.Count?>=?4)//至少要包含頭(2字節)+長度(1字節)+校驗(1字節)
????????????????{
????????????????????//請不要擔心使用>=,因為>=已經和><=一樣,是獨立操作符,并不是解析成>和=2個符號
????????????????????//2.1?查找數據頭
????????????????????if?(buffer[0]?==?0xAA?&&?buffer[1]?==?0x44)
????????????????????{
????????????????????????//2.2?探測緩存數據是否有一條數據的字節,如果不夠,就不用費勁的做其他驗證了
????????????????????????//前面已經限定了剩余長度>=4,那我們這里一定能訪問到buffer[2]這個長度
????????????????????????int?len?=?buffer[2];//數據長度
????????????????????????//數據完整判斷第一步,長度是否足夠
????????????????????????//len是數據段長度4個字節是while行注釋的3部分長度
????????????????????????i

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2010-05-27?08:34??SerialportSample\
?????目錄???????????0??2010-05-27?08:34??SerialportSample\SerialportSample\
?????文件?????????890??2010-05-16?02:19??SerialportSample\SerialportSample.sln
?????文件???????19968??2010-05-27?11:27??SerialportSample\SerialportSample.suo
?????目錄???????????0??2010-05-27?08:34??SerialportSample\SerialportSample\bin\
?????目錄???????????0??2010-05-27?08:34??SerialportSample\SerialportSample\bin\Debug\
?????文件???????17408??2010-05-27?09:25??SerialportSample\SerialportSample\bin\Debug\SerialportSample.exe
?????文件???????38400??2010-05-27?09:25??SerialportSample\SerialportSample\bin\Debug\SerialportSample.pdb
?????文件???????11600??2010-05-27?10:21??SerialportSample\SerialportSample\bin\Debug\SerialportSample.vshost.exe
?????文件?????????490??2010-03-17?22:39??SerialportSample\SerialportSample\bin\Debug\SerialportSample.vshost.exe.manifest
?????文件???????11471??2010-05-27?10:20??SerialportSample\SerialportSample\Form1.cs
?????文件???????16740??2010-05-27?08:52??SerialportSample\SerialportSample\Form1.Designer.cs
?????文件????????5817??2010-05-27?08:52??SerialportSample\SerialportSample\Form1.resx
?????目錄???????????0??2010-05-27?08:34??SerialportSample\SerialportSample\obj\
?????目錄???????????0??2010-05-27?08:34??SerialportSample\SerialportSample\obj\x86\
?????目錄???????????0??2010-05-27?10:21??SerialportSample\SerialportSample\obj\x86\Debug\
?????文件????????4440??2010-05-27?10:21??SerialportSample\SerialportSample\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件????????6274??2010-05-27?09:25??SerialportSample\SerialportSample\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件?????????642??2010-05-27?09:08??SerialportSample\SerialportSample\obj\x86\Debug\GenerateResource.read.1.tlog
?????文件????????1614??2010-05-27?09:08??SerialportSample\SerialportSample\obj\x86\Debug\GenerateResource.write.1.tlog
?????文件????????2099??2010-05-27?10:21??SerialportSample\SerialportSample\obj\x86\Debug\SerialportSample.csproj.FileListAbsolute.txt
?????文件???????17408??2010-05-27?09:25??SerialportSample\SerialportSample\obj\x86\Debug\SerialportSample.exe
?????文件???????38400??2010-05-27?09:25??SerialportSample\SerialportSample\obj\x86\Debug\SerialportSample.pdb
?????文件?????????180??2010-05-27?09:08??SerialportSample\SerialportSample\obj\x86\Debug\SerialportSample.Properties.Resources.resources
?????文件?????????180??2010-05-27?09:08??SerialportSample\SerialportSample\obj\x86\Debug\SerialportSample.SerialportSampleForm.resources
?????目錄???????????0??2010-05-16?02:19??SerialportSample\SerialportSample\obj\x86\Debug\TempPE\
?????文件?????????523??2010-05-16?03:24??SerialportSample\SerialportSample\Program.cs
?????目錄???????????0??2010-05-27?08:34??SerialportSample\SerialportSample\Properties\
?????文件????????1468??2010-05-16?02:19??SerialportSample\SerialportSample\Properties\AssemblyInfo.cs
?????文件????????2858??2010-05-16?02:19??SerialportSample\SerialportSample\Properties\Resources.Designer.cs
?????文件????????5612??2010-05-16?02:19??SerialportSample\SerialportSample\Properties\Resources.resx
............此處省略3個文件信息

評論

共有 條評論