本帖最后由 zhlicen 于 2012-09-14 20:29:22 编辑

解决方案 »

  1.   

    1。会不会是超级终端用了回车符?
    我们普通文本输入(比如记事本里输入,不是WORD等专业文本编辑软件)换行是用的0x0a 0x0d两个字节实现的回车和换行。即\r\n,如下
    0a------换行符号------"\n"
                                     
    0d------回车符号------"\r"例如用记事本写一个文本,如写个“1 2 3”,然后保存,然后用16进制编辑器打开这个文本,把3个数之间的空格(即0x20)该为回车符(即0x0d),然后再打开此保存文件,(记住要用记事本打开),然后你会发现,记事本里只显示一个“3”,所以估计超级终端也是用的这个原理,他的百分数前面都加了一个0x0d(\r),所以显示的百分数不动,应该就是这个原理。第二个问题,暂时没看明白,你写串口是不是可以用相应的WINAPI同步,就是没写成功后,不会执行下面的命令,而是阻塞在那条命令处。或者串口写成功后,会不会返回点什么标志之类的,表示本次写成功了,你可以利用下?  串口我只用过,没写过,没法帮你的忙了,只是猜测下