作者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/cn.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