WaveCom开发中遇到的一个奇怪问题!

roophoon 2007-05-24 08:39:48
这几天在给WaveCom模块写PC端软件,用的是VC6,准备完全模拟手机操作界面,目前基本功能已经出来了,不过遇到一个奇怪的现象,到现在没想出是什么原因。

软件运行后,首先打开串口,成功后PC机向模块发送AT指令,但是收不到模块发过来的“OK”应答信号。于是打开超级终端,能够发送AT指令,受到OK回复,更为奇怪的是,当我把超级终端关闭后,我写的软件就能够正常运行了。也就是说非得先运行超级终端或者串口精灵等软件正常发送AT指令,关闭后我的软件才能正常运行。每次重新启动计算机我都得这样来一遍,搞不懂什么原因。

我的理解,当超级终端打开后,肯定对串口进行了什么样的设置,而这种设置是一次生效的,关闭超级终端后这种设置还保留下来了,所有我的软件在这之后就可以运行。

需要说明的是,为了能够将程序移植到嵌入式系统中,我的串口操作利用的是API函数,没有用MFC的MSCOMM控件,同样,我也是遵循:OpenCom()——〉WriteCom("AT")——〉ReadCom()的步骤操作的。

...全文
267 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
roophoon 2007-05-26
  • 打赏
  • 举报
回复
我今天查看了一下,原因是这样的:
1、我的软件中,设置了8位数据位、1位起始位、1位停止位,本来应该是10位数据才对,我先打开自己写的软件,向wavecom写入AT指令后,结果返回的数据每一帧只有9位,数据位的最高位丢失了;
2、打开超级终端,在超级终端里成功发送AT指令,成功接受OK返回;
3、再次打开我的软件,这个时候我返回数据的一帧也变成10位了
搞不懂什么原因,为什么我的数据位的最高位会丢失,又为什么用超级终端成功调试后就能收到完整的10位数据了?
rz_hansen 2007-05-26
  • 打赏
  • 举报
回复
看一下ECDS-MUI的开发方式,CSDN上免费下载使用:http://download.csdn.net/source/180559
可以提供源代码。
xysome 2007-05-26
  • 打赏
  • 举报
回复
你是用的MSComm控件还是调用的API?怀疑是你对串口的设置有问题。
xysome 2007-05-25
  • 打赏
  • 举报
回复
可能是流控相关的设置

790

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 其他移动相关
社区管理员
  • 移动开发其他问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧