我要读串口数据.
其发送的数据格式如下:

xxxxxxxx
xxxxxxxxxxx
xxxxxx
xxxx

就是说有起始字符和结束字符,但中间内容长度不太固定.如果是定长的内容的话,我可以使用RThreshold属性配合一次性读取.但因为这是不定长的,所以我目前使用的方法是一个一个字符的读取.请问:有没有办法一次性读取一份内容出来? 因为那机器一会就发一份数据, 如果一个一个字符的读取的话,处理起来会非常麻烦.

解决方案 »

  1.   

    忘记了
    等我查资料再给你具体代码
    先给个思路
    Open while 接收内容<>结束符号
    loop
      

  2.   

    要上好像还是一个一个字符读吧. 这个代码早就写好了.
    但将一个一个字符拼成一份内容,再将一份一分内容拼成一批内容处理,我感觉不太方便.我是想问下有没有办法一次读一整份数据出来,像读定长的内容一样啊.
    不好意思,我才发现发的贴子有些字符被过滤掉了.串口发过一煌数据是这种格式的:<起始字符一个>
    xxxxxxxx
    xxxxxxxxxxx
    xxxxxx
    xxxx
    <结束字符一个>
      

  3.   

    等待结束符号来了之后再处理阿,
    否则就累加存储在一变量中,如inbuff()
      

  4.   

    好象 设置 r 和 s 为1
    在MSComm1_OnComm事件CommEvent中
    temp=MSComm1.Input
    就是一份
      

  5.   

    呜~
    mscomm就那么笨啊。就没有什么方法让它遇到一个结束符就触发一个事件?