色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C#-串口設備對接

汽車電子技術 ? 來源:程序猿知秋 ? 作者: 程序猿知秋 ? 2023-02-28 09:46 ? 次閱讀

圖片

基本概況

串口介紹

  • 串口 :是一種可以將接受來自CPU的并行數據字符轉換為連續的串行數據流發送出去,同時可將接受的串行數據流轉換為并行的數據字符供給CPU的器件。一般完成這種功能的電路,我們稱為串行接口電路。
  • 串口通信(Serial Communications) :串口按位(bit)發送和接收字節。盡管比按字節(byte)的并行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗。對于兩個進行通信的端口,這些參數必須匹配。
    • 波特率: 這是一個衡量符號傳輸速率的參數。指的是信號被調制以后在單位時間內的變化,即單位時間內載波參數變化的次數,如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位,1個停止位,8個數據位),這時的波特率為240Bd,比特率為10位*240個/秒=2400bps。
    • 數據位: 這是衡量通信中實際數據位的參數。當計算機發送一個信息包,實際的數據往往不會是8位的,標準的值是6、7和8位。標準的ASCII碼是0~127(7位),擴展的ASCII碼是0~255(8位)。如果數據使用簡單的文本(標準 ASCII碼),那么每個數據包使用7位數據。每個包是指一個字節,包括開始/停止位,數據位和奇偶校驗位。
    • 停止位: 用于表示單個包的最后幾位。典型的值為1,1.5和2位。由于數據是在傳輸線上定時的,并且每一個設備有其自己的時鐘,很可能在通信中兩臺設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,并且提供計算機校正時鐘同步的機會。適用于停止位的位數越多,不同時鐘同步的容忍程度越大,但是數據傳輸率同時也越慢
    • 奇偶校驗位: 在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。
  • 串口通信的接口標準: 標準有很多,有 RS-232C、RS-232、RS-422A、RS-485 等。常用的就是 RS-232 和 RS-485。串口通信使用的大多都是 DB9 接口,如下圖

圖片編輯

1 載波檢測(DCD) 2 接受數據(RXD) 3 發出數據(TXD) 4 數據終端準備好(DTR) 5 信號地線(SG) 6 數據準備好(DSR) 7 請求發送(RTS) 8 清除發送(CTS) 9 振鈴指示(RI)

c#中的串口操作類

****System.IO.Port.SerialPort .NET Framework提供的操作串行端口的類,里面提供了一些方法、屬性和和事件供開發者調用操作串口。

** 常用字段**

名稱 說明
PortName 獲取或設置通信端口
BaudRate 獲取或設置串行波特率
DataBits 獲取或設置每個字節的標準數據位長度
Parity 獲取或設置奇偶校驗檢查協議
StopBits 獲取或設置每個字節的標準停止位數

示例

// 建立串口對象
private static SerialPort serialPort;


public void init()
{
  serialPort = new SerialPort();
    //串行波特率
  serialPort.BaudRate = 115200;
    //每個字節的標準數據位長度
  serialPort.DataBits = 8;
    // 設置每個字節的標準停止位數
  serialPort.StopBits = StopBits.One;
    // 讀、寫 超時時間 單位毫秒
  serialPort.ReadTimeout = 500;
  serialPort.WriteTimeout = 500;
   // 串口名稱
  serialPort.PortName = "COM1";
}

常用方法

名稱 說明
Close 關閉端口連接,將 IsOpen 屬性設置為false,并釋放內部 Stream 對象
GetPortNames 獲取當前計算機的串行端口名稱數組
Open 打開一個新的串行端口連接
Read SerialPort輸入緩沖區中讀取
ReadExisting 讀取 SerialPort 對象的流和輸入緩沖區中所有立即可用的字節
Write 將數據寫入串行端口輸出緩沖區

示例

public void test1()
{
  // 判斷串口是否打開
  if (serialPort==null || serialPort.IsOpen)
  {
    return;
  }
  // 打開串口
  serialPort.Open();

  // 讀取串口中的內容
  serialPort.ReadExisting()


  //如果串口處于打開狀態,則關閉
  if (serialPort.IsOpen)
  {
    // 關閉串口
    serialPort.Close();
  }  
}

常用事件

名稱 說明
DataReceived 表示將處理SerialPort對象的數據接收事件的方法

示例

public void test2()
{
  //設備監聽回調
  serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
}


// 回調方法
public void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
  try
  {
    //解析內容
    SerialPort sp = (SerialPort)msg;
    string content = sp.ReadExisting();
    Console.WriteLine("WX GZH: 程序猿知秋,"+content);
  }
  catch (Exception ex)
  {
    Console.WriteLine(ex);
  }

}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口電路
    +關注

    關注

    8

    文章

    465

    瀏覽量

    57115
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10882

    瀏覽量

    212272
  • 器件
    +關注

    關注

    4

    文章

    312

    瀏覽量

    27875
收藏 人收藏

    評論

    相關推薦

    在STM32上如何去對接一款串口傳感器

    背景說明:STM32上對接一款串口傳感器,該串口采用串口如下波特率:115200停止位:1校驗位:偶校驗(Even)硬件流控:無數據位:8bit筆者使用STM32F103
    發表于 08-05 07:28

    STM32F103C8單片機是怎樣與串口傳感器對接上的

    STM32F103C8單片機是怎樣與串口傳感器對接上的?遇到了哪些問題?
    發表于 10-25 06:06

    怎么實現阿里云IOT與單片機的對接

    基于MQTT通信協議 實現單片機與騰訊云IOT|阿里云IOT|中國移動ONENET的對接。在實際調試時選擇STM32F103C8T6與ESP826601S的開發板,對接過程是一個比較艱難的過程。編譯
    發表于 11-22 06:55

    LVGL的輸入設備API對接

    LittleVGL (LVGL)干貨入門教程二之LVGL的輸入設備(indev)API對接前言:閱讀前,請確保你擁有以下條件:你已經完成“顯示API”的移植。你已經實現了一個屏幕的觸摸驅動 (如果你
    發表于 01-18 10:12

    m452rg6串口與8位mcu串口如何對接才能傳輸數據?

    目前有一案子,利用m452rg6與8位芯片串口對接,m452串口串接470歐的電阻,用usb轉串口模塊與pc調試時是正常的,但與8位機串口
    發表于 06-25 06:56

    系統不同供電的485設備對接中的問題怎么解決?

    系統不同供電的485設備對接中的問題怎么解決?
    發表于 10-17 07:26

    設備對接專題

    課程說明 1課程介紹 1課程目標 1相關資料 1第1章 SDH接口的對接 21.1 業務的對接 21.1.1 業務對接 21.2 開銷與
    發表于 08-03 10:37 ?10次下載

    傳輸設備PDH接口對接問題

    設備對接是任何通信工程中非常重要的一個環節,設備對接的好壞直接影響到通信質量。而我們在設備對接
    發表于 07-26 09:34 ?2757次閱讀

    C#串口例程

    C#串口例程 實現串口數據收發和控制 需要的請下載
    發表于 11-12 14:19 ?10次下載

    C#串口通信程序

    C#串口通信程序
    發表于 01-02 19:57 ?0次下載

    C -與ORACLE直接連接代碼

    C -與ORACLE直接連接代碼(肇慶理士電源技術有限)-C#-與ORACLE直接連接代碼,有需要的可以參考!
    發表于 08-31 11:18 ?2次下載
    <b class='flag-5'>C</b> -與ORACLE直接連接代碼

    PLC與對接設備如何實現無線通信

    PLC與對接設備要實現無線通信,如何選用匹配的無線通信模塊,取決于PLC及設備的通訊接口、通訊協議、通訊距離等。因此可分為兩類進行概述。
    發表于 02-11 11:17 ?6419次閱讀
    PLC與<b class='flag-5'>對接</b><b class='flag-5'>設備</b>如何實現無線通信

    什么是串口轉I2C?有什么特點?

    什么是串口轉I2C?有什么特點?? 串口轉I2C是一種設備,用于將串行通信接口(通常稱為串口)轉
    的頭像 發表于 09-14 17:52 ?1333次閱讀

    工業RTU串口網關有哪些使用用途和使用場景

    工業RTU串口網關主要以串口形式實現對設備的鏈接和數據采集、傳輸,具有設備對接方便、設備
    的頭像 發表于 01-23 17:40 ?981次閱讀
    工業RTU<b class='flag-5'>串口</b>網關有哪些使用用途和使用場景

    工業串口設備通訊神器:串口服務器CS64J

    串口服務器作為連接傳統串口設備與網絡的橋梁,串口服務器實現了設備間的無縫對接和數據互通。這意味著
    的頭像 發表于 03-21 17:09 ?510次閱讀
    工業<b class='flag-5'>串口</b><b class='flag-5'>設備</b>通訊神器:<b class='flag-5'>串口</b>服務器CS64J
    主站蜘蛛池模板: 伊人色啪啪天天综合婷婷| 国产精品免费视频能看| 麻豆精品人妻一区二区三区蜜桃| 99久久久无码国产精品不卡按摩 | 亚洲无码小格式| 快穿之诱受双性被灌满h| 补课H湿 1V1 PLAY| 亚洲色欲国产免费视频| 琪琪色在线播放| 果冻传媒2021精品影视| ASIAN大陆明星裸休合成PICS| 亚洲 欧美 国产 综合不卡| 毛片免费在线| 国产乱码免费卡1卡二卡3卡四卡| 2017年伦理片免费观看| 上原结衣快播| 伦理片免费秋霞e| 国产精品久AAAAA片| 97视频在线免费| 亚洲国产三级在线观看| 青青草国产偷拍在线av| 久久两性视频| 国产精品第十页| av淘宝 在线观看| 亚洲一卡二卡三卡四卡无卡麻豆| 日本湿姝在线观看| 啦啦啦 中国 日本 高清 在线| 国产成人精品亚洲线观看| 97国产在线观看| 亚洲一区二区免费看| 偷拍精品视频一区二区三区| 奶水太多h室友| 九九99热久久精品在线6| 高肉黄暴NP文公交车| 96.8在线收听| 一本道久在线综合色姐| 久久热精品18国产| 国产免费内射又粗又爽密桃视频| 亚洲 欧美 视频 手机在线| 女生扒开下面| 久久ZYZ资源站无码中文动漫|