我觉得我对USB的虚拟串口掌握得还是太浅,所以不知从哪个方向去查找问题。我STM8S003的程序功能是:如果接收到数字1,则点亮板上的LED;如果接收到的是除1以外的其他字符(比如2),则把这个字符(2)连续不间断地发送出去,同时LED闪烁。目前碰到的问题是:
1)用COMDEBUG能调试成功;
2)用Windows(XP)超级终端有时成功,有时失败,目前感觉是否成功与代码的不同的代码表达方式有关(我知道这很奇怪);
3)我用VC++6.0写了个小程序,用的是Win32Port类(从一本书上弄来的串口类),理论上,向STM8写入2,则VC++程序应该收到连续不断的2。测试结果是循环用readbyte方式能正常地持续获得数字2(稍有滞后但总体正常),但用readbuffer读缓冲区就一直为空。这个缓冲区是Win32Port类的成员,应该与硬件无关。
我有点头大了,不知道从哪里下手查找问题...
|