原文:C#使用struct直接轉換下位機數據

編寫上位機與下位機通信的時候,涉及到協議的轉換,比較多會使用到二進制。傳統的方法,是將數據整體獲取到byte數組中,然后逐字節對數據進行解析。這樣操作工作量比較大,對於較長數據段更容易計算位置出錯。 其實,對於下位機給出通訊的數據結構的情況下,可以直接使用C 的struct將數據直接轉換。需要使用到Marshal。 數據結構 假定下位機 C語言編寫 給到我們的數據結構是這個,傳輸方式為小端方式 方 ...

2021-01-20 14:50 1 829 推薦指數:

查看詳情

C# WPF上位實現和下位TCP通訊

下位使用北京大華程控電源DH1766-1,上位使用WPF。實現了電壓電流實時采集,曲線顯示。上午在公司調試成功,手頭沒有程控電源,使用TCP服務端模擬。昨天寫的TCP服務端正好排上用場。 界面如下: 服務端 服務端實在上篇基礎上實現的。需要做如下更改: while ...

Wed Mar 20 04:52:00 CST 2019 0 704
關於C# byte[]與struct轉換

轉自:http://blog.chinaunix.net/uid-215617-id-2213082.html Some of the C# code I've been writing recently communicates via TCP/IP with legacy C ...

Wed Oct 26 18:10:00 CST 2016 1 5908
c#通過串口及CAN模塊實現上位及下位通訊

目錄 前言 一、串口、CAN總線 二、使用步驟 1.RS232串口通訊(指令下發與接收) 2.CAN總線通訊 總結 前言 學習及工作中我們經常會遇到上位下位通訊等工作,結合場景使用不同的通訊方式實時通訊,以下為工作中遇到的上位下位進行實時通訊,采用RS232串口和CAN ...

Fri Sep 24 01:58:00 CST 2021 0 388
C#各種數組直接數據復制/轉換

之前做Opengl程序,用的的C#的SharpGL這個庫,里面有各種奇怪綁定的函數,比如原型為: 的函數被他綁定成: 然后我就被逼着學習了各種float[] 轉 int[] 的方法,比較他們的效率(其實我還是感覺c++比較快,一個指針類型轉換,歐 ...

Thu Jan 28 00:11:00 CST 2016 1 5325
C# 連蒙帶騙不知所以然的搞定USB下位讀寫

公司用了一台發卡機,usb接口,半雙工,給了個dll,不支持線程操作,使得UI線程老卡。 懊惱了,想自己直接通過usb讀寫,各種百度,然后是無數的坑,最終搞定。 現將各種坑和我自己的某些猜想記錄一下,也供各位參考。 一、常量定義 private const short ...

Sat Jun 09 01:37:00 CST 2018 4 2495
開源純C#工控網關+組態軟件(四)上下位通訊原理

一、 網關的功能:承上啟下 最近有點忙,更新慢了。感謝園友們給予的支持,現在github上已經有。目標是最好的開源組態,看來又近一步^^ 之前有提到網關是物聯網的關鍵環節,它的作用就是承上啟下。 下位下位的語言,上位有上位的思路。網關就是一個翻譯,把下位的語言轉成通用語,再 ...

Sat Oct 28 17:06:00 CST 2017 9 11828
C#struct的字節對齊、轉換操作和復制為二進制數據(byte[])

在做C#與其它程序通信的系統時,往往會使用struc操作結構化的數據(如數據包等)。 本文簡要提出一些使用思路,歡迎各位大牛賜教。 一、STRUCT結構設計 當數據的結構確定時,總結為下面兩種情況: 1、數據長度確定(包括字符串): 此時可以直接利用struct來構造數據 ...

Thu Mar 14 05:14:00 CST 2013 0 3110
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM