6835|25

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

GPRS发送SMS [复制链接]

我现在想用GPRS模块向一手机发送SMS
我从一参考资料上看到应该是:
AT+CMGF=1
OK //Return Value
AT+CSCS=”GSM”
OK //Return Value
AT+CMGS=”13912223333”
> Good, this is test // 输入Ctrl+Z
+CMGS: 158 //Return Value
问题:
AT+CMGF=1
OK //Return Value
AT+CSCS=”GSM”
OK //Return Value
都对的
AT+CMGS=”13912223333”
> Good, this is test 以后,输入Ctrl+Z是执行了撤销操作,而且发送后的结果是
AT+CMGS=”13912223333”
> Good, t
>his is test
>口
故,请问,最后的Ctrl+Z应该怎么操作啊?谢谢了!!!

最新回复

请求各位前辈是否有在C语言环境中,用串口向SIM300发送AT指令,向GPRS发送英文信息的  详情 回复 发表于 2011-5-18 21:32
点赞 关注

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
发送0x1a
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
你是在串口工具上操作的吧?
呵呵,你这个串口工具的问题,你换成超级终端试一下应该就可以了。楼上说的0X1A是CTRL+Z的ASC码,自己写程序时候用的。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
是的,我是在自己做的串口发送工具中测试的,因为以后要用到自己的程序中去的。
在AT+CMGF=1
OK //Return Value
AT+CSCS=”GSM”
OK //Return Value
都对的 的情况下,

第一次,我先最后在发送区写的内容:
    AT+CMGS="15901978342"
    > Good, this is test,123.456
    0x1a
结果显示:
    AT+CMGS="15901978342"
    > Go
    > od, this is test,123.456
    > 口0x1a
第二次,我再在发送区试着发送:
    AT+CMGS="15901978342"
    > Good, this is test,123.456 0x1a
    回车
结果显示:
    AT+CMGS="15901978342"
    > Good, this
    > is test,123.456 0x1a
    > 口
第三次,我再在发送区试着发送:(0x1a后面不带回车)
    AT+CMGS="15901978342"
    > Good, this is test,123.456 0x1a
结果显示:
    AT+CMGS="15901978342"
    > Good, this i
    > s test,123.456
    0x1a
这是什么原因啊?请多指教,谢谢!!!
   

   
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
自己做的串口工具?建议你下个ASTPortTool.exe 试试!我在上面测试都没有问题
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

6
 
不用用Ctrl+Z发送,用0x1A发送
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
To wxh404:
           我现在是用0x1a了,我不是在每次发送的最后都已经加上0x1a 了吗?
            难道不是那么用的吗?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

8
 
To wordess:
            ASTPortTool.exe 是什么程序啊?有没有源代码?有的话打包发给我一份吧?这是我的E-mail: lijunminjay@hotmail.com 谢谢!
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
0x1a加在你发送字符串的后面,不要有空格,然后回车
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

10
 
不对,0x1a是ASC码,你第三次发送是当字符串发送的!
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

11
 
要换成字符串的话,看ASC码对应的那个字符,是一个向右的箭头
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

12
 
To wordess:
   我按照您的说法,发送如下字符:
    AT+CMGS="15901978342"
    > Good, this is test,123.4560x1a
    回车(再按“发送”)
    结果显示:
         AT+CMGS="15901978342"
    > Good, this i
    > s test,123.4560x1a
    > 口

    如果直接发送:(没有回车)
    AT+CMGS="15901978342"
    > Good, this is test,123.4560x1a(没有回车,直接按“发送”)
    则显示:
    AT+CMGS="15901978342"
    > > Good, this is test,123.4560x1a

   郁闷!到底问题出在哪里???请多帮帮忙!!!谢谢!!!
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

13
 
发0X1a  时,  直接发1a,然后  选择十六进制 ,再点发送   试试
如果  还不行

就下个  串口调试 工具  试试!
  应该  没什么  问题
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

14
 
还是不行,为什么发其他的命令譬如:
    AT+CMGF=1
   OK //Return Value
   AT+CSCS=”GSM”
   OK //Return Value
都是好的,拨电话也可以的。为什么发消息就发不出去呢?谁能帮帮我?谢谢!!!
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

15
 
大哥,你还没弄明白呢啊,你发送0x1a是按字符串发送的,就发一个字符,字符的值是0x1a

unsigned char data = 0x1a;

明白了吗?

 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

16
 
像你那样发送是把0x1a当字符串发送的,data[]="0x1a";你应该最后发送一个字符,data=0x1a;
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

17
 
你的串口工具发送这些信息时,是按照ASCII码发送的,当你发送0x1a时,其实是发送了'0','x','1','a',一共4个字符
而原本的意思是希望发送0x1A对应的ASCII码,只是一个字符而已。
所以你应该单独以单字符发送0x1a。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

18
 
哦,我明白了,我刚才查了ASCII码表,查到:
    Dec  Hx  Oct   Chr
   26   1A   032   SUB(substitute)
请问,SUB是什么键啊?我怎么把它作为一个字符输入到串口呢?谢谢!!!
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

19
 
引用 17 楼 jay_lee_1982 的回复:
哦,我明白了,我刚才查了ASCII码表,查到:
    Dec  Hx  Oct  Chr
  26  1A  032  SUB(substitute)
请问,SUB是什么键啊?我怎么把它作为一个字符输入到串口呢?谢谢!!!


SUB就是ascii码,具体什么,看一下这个网址http://baike.baidu.com/view/15482.htm

在超级终端下,同时按下键盘上的Ctrl键和Z键就可以输入到串口。
在其他工具下,可能不太方便。
如果编程,你可以在发送的字符串的最末尾字节赋值为0x1A
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

20
 
哎,楼主,狂晕啊。
将窗口的字符直接输入到串口:
Private Sub Text4_KeyPress(KeyAscii As Integer)
On Error Resume Next
MSComm1.Output = Chr(KeyAscii)
End Sub

还是建议你直接用超级终端来做实验。这样不会因为你串口软件的问题而造成实验的麻烦。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表