作者wasidada (dada)
看板C_Sharp
標題[問題] 關於Serial Port 接收資料處理的問題
時間Fri Dec 11 22:41:15 2015
大家好,
請問一下,下面這個程式碼,想使用在接收資料後進行處理
發生了str2其實為空的狀態,不知道什麼原因
while(true)
{
while(comport.BytesToRead > 0)
{
str = Convert.ToChar(comport.ReadChar()).ToString();
str2 += str;
richTextBox1.Text += str;
}
if (str2 == "test")
richTextBox6.Text += str2;
}
跪求 各位稍微指點一下
一個人好難玩 orz
--
Sent from my Windows
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.222.1
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1449844878.A.6F4.html
※ 編輯: wasidada (59.127.222.1), 12/11/2015 22:55:18
1F:推 deo2000: 用中斷看comport.ReadChar()有東西嗎? 12/12 19:13
有東西
2F:→ name2name2: 用debug模式用滑鼠去看str有沒有值 12/12 19:36
3F:→ name2name2: 就是把中斷點設在那 12/12 19:36
4F:推 doraemon1293: 有清空緩衝區嗎 12/12 21:27
我之前沒設定,剛剛設定了改善很多了 ...至少現在不會延遲 @@
5F:→ doraemon1293: 開發環境是在win7 x64嗎 12/12 21:29
WIN 10 X64
※ 編輯: wasidada (59.127.222.1), 12/12/2015 22:58:52
※ 編輯: wasidada (59.127.222.1), 12/12/2015 22:59:34
6F:推 SANDER00: STR2沒初始化啊 而且一班這種不斷加長字串長度的狀況 12/13 23:39
7F:→ SANDER00: 會用stringbuilder 型別 不會直接用string 12/13 23:39
8F:→ SANDER00: 而且 看你流程 沒有str2 好像沒差 為何這麼做? 12/13 23:41
9F:→ wasidada: 把收到的字元,累加上去變成一個字串 12/14 05:51
10F:推 SANDER00: 為何不等buffer區 接收足夠數量後 再一次接收呢 12/14 08:07