C串列埠總結的幾個疑惑,C 串列埠總結的幾個疑惑

2021-05-02 22:15:38 字數 1938 閱讀 5155

1樓:匿名使用者

1、會根據writebuffersize的大小,自動分段傳送,不會丟棄資料;

2、會根據readbuffersize的大小,自動分段讀取,不會丟棄資料;

你懷疑的讀取和傳送過程中的溢位的情況,跟串列埠驅動分配的緩衝大小有關;

應該還跟系統記憶體大小有關,c# 對溢位的處理已經做了封裝,我們只管使用吧

3、大檔案的拆分傳送,這個根據你自己的情況,對檔案做分割,比如分割成4k大小;

傳送端一次性傳送完4k,接收端開始接收資料並統計位元組,接收到4k的時候,接收端

傳送接收4k結束的指令到傳送端,傳送端開始傳送第二段資料,如此迴圈。

2樓:匿名使用者

1:根據緩衝區大小分成幾塊 沒有發完會一直髮送的2:同上

3:讀取跟傳送是一個道理的

4:你說的那個叫協議 可以自定義 也可以用現成的一些工業傳輸協議的1,2,3 的內容不知道你有沒有接觸過微控制器或者類似簡訊貓的東西 簡訊貓為例

串列埠助手作為傳送端 串列埠助手在敲完命令以後 需要在後面加上 十六進位制的 0x1a(不同貓可能不一樣) 這意思是告訴貓 指令傳送完畢 你執行 同理 在1,2,3裡面雖然你沒有明確的給一個結束的符號 但是你在初始串列埠的時候不是有一個 停止位什麼的嗎 那就是系統預設的串列埠設定 具體也不好解釋 只能查詢uart設計原理了

c# 串列埠如何一次性接收完資料?

3樓:匿名使用者

對串列埠而言,不存在完整資料長度,都是以byte為單位;一般來說,通常是回透過時間跟固定數量來進行答接收動作。(可能要看各pc的os或driver的設定情況)

通常在串列埠處理上,要確認接收資料完整,是在pc軟體上進行接收、儲存跟判斷的動作,在完整收到後,才進行顯示或處理。

4樓:匿名使用者

c#是使用流來bai處理串列埠

的,所以不du是存在準確zhi

的間隔時間dao的。串列埠驅動並不內

一定能及時引發datareceived事件。容而且串列埠的不確定性也不能用時間間隔作為資料的分隔。下位機應使用特定的通訊協議來傳送資料。

電腦則使用預設的每來一個位元組觸發一次datareceived,但這個觸發時機也是不準的,不可能真的每來一個位元組就會觸發一次datareceived。當收來下位機發來的起始字元就說明收數開始,可一直收到結束字元。使用串列埠一定要對資料進行crc校驗。

通常來這樣設計通訊協議:起始字元 資料 結束字元 crc校驗碼。校驗正確後就可對資料進行處理。

5樓:匿名使用者

com1.datareceived += new system.io.

ports.serialdatareceivedeventhandler(com1_datareceived1);(新增event handler)

微控制器copy一次發過來有多少你收多少

private delegate void settextdeleg(string text);

然後通過mutlithread來進行資料處理我的建議是 你也可以用一個arraylist儲存起來建立一個timer來檢查arraylist的count 當count不變後進行處理也行

最好是有明顯的結束訊號。

6樓:如此·虛偽

這個只能通過軟體對你串列埠資料包進行擷取分析。然後進行軟體除錯才能知道問題。可能是串列埠訊號問題。也可能是你截獲的時候沒有對訊號波段設定吧

c#中serialport 接收多個串列埠資料

7樓:匿名使用者

你有幾個com 口,不多的話就多放幾個serialport 控制元件上去,分別指定不同的com口,接受資料的話它本身有一個事件,有資料後自動觸發,

8樓:匿名使用者

一個serialport就行了,用switch case 判斷,

如何用「C」對串列埠傳送16進位制數

忘了看你還要把接收的轉回10進位制。接收的如果是按位元組接收 readbyte 那麼接收回來的數直接就可以用10進製表示,如果需要顯示,可以直接在變數之後加.tostring 不明白可直接加我hi 之前的回答 byte t new byte 2 t 0 0xaa t 1 0xbb 串列埠物件.wri...

使用C實現串列埠通訊,接受和控制微控制器

通常,在c 中實現串列埠通訊,我們有四種方法 第一 通過mscomm控制元件這是最簡單的,最方便的方法。可功能上很難做到控制自如,同時這個控制元件並不是系統本身所帶,所以還得註冊。可以訪問 一個外國人寫的教程 第二 微軟在.net新推出了一個串列埠控制元件,基於.net的p invoke呼叫方法實現...

c語言實訓總結優秀範文,C語言實訓心得

c語言實訓心得 通過這次c語言實訓,提高了我掌握和利用c語言進行程設計的能力,而且進一步理解和運用結構化程設計的思想和方法。初步掌握了開發一個小型實用系統的基本方法。學會了除錯一個較長程式的基本方法。學會了利用流程圖或n s圖表示演算法。掌握了書寫程設計開發文件的能力。為以後的實訓打下堅實的基礎。這...