查看: 5720|回复: 0
打印 上一主题 下一主题

用MSCOMM控件向串口发送AT指令并得到GSM MODEM的返回信息

[复制链接]
跳转到指定楼层
楼主
发表于 2014-6-24 11:16:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
奇怪的AT指令
计算机连了一个wAVECOM的GSM MODEM,拟用MSCOMM控件向串口发送AT指令并得到GSM MODEM的返回信息。
代码如下:

  LOCAL aVzifua as String

thisform.mycomm.portOpen=.T.
        thisform.mycomm.input
        thisform.mycomm.InBufferCount = 0  
*!*                thisform.mycomm.Output = [AT] + CHR(13)
        thisform.mycomm.Output = CREATEBINARY([AT] + CHR(13))
*!*                thisform.mycomm.Output = CREATEBINARY([AT]) + CHR(13)
                nVsj=SECONDS()+5

        DO  While  SECONDS() <=nVsj

            If thisform.mycomm.InBufferCount $amp;>amp;$nbsp;0
                aVzifua =thisform.mycomm.Input
            ENDIF


        ENDDO

thisform.text1.Value=aVzifua
thisform.mycomm.portOpen=.F.



运行后总是得不到返回信息。后来装了一个监视串口信息的serial monitor软件,发现这段代码总是要运行两次,端口才能返回“OK”,但我的文本框中两次都显示不出任何字符。

特请高手赐教:
1.为什么要运行两次才能“OK”?
2.如何得到返回信息

serial monitor给出的串口信息如下:

Read:
Port opened

Baud rate set to 9600

StopBits: 1 stop bit, Parity: No parity, WordLength: 8

Port closed

Port opened

Baud rate set to 9600

StopBits: 1 stop bit, Parity: No parity, WordLength: 8
0D        0A        4F        4B        0D        0A         ..OK..
Port closed

Write:
Port opened

Baud rate set to 9600

StopBits: 1 stop bit, Parity: No parity, WordLength: 8
41        54        0D         AT.
Port closed

Port opened

Baud rate set to 9600

StopBits: 1 stop bit, Parity: No parity, WordLength: 8
41        54        0D         AT.
Port closed
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|未来时代科技 ( 粤ICP备12044031号-1

GMT+8, 2024-11-23 02:43 , Processed in 0.063835 second(s), 25 queries .

Powered by WLSD X3.1

© 2013-2014 WLSD Inc.

快速回复 返回顶部 返回列表
 
【电话】(15118131494)
【QQ】 未来时代科技01 售前咨询
【QQ】 未来时代科技02 售后技术
【旺旺】 请问有什么可以帮到您?不在线可留言.
【邮箱】
inextera@sina.com
【地址】 (深圳市龙岗坂田扬马小区)