请教:SIM300以TEXT方式发送短信
SIM300在TEXT方式下发送短信,如发送:A对方手机能收到信息,但是信息内容不正确,回来的内容是“?”号
这是什么原因呢? 没有切换到TEXT模式吧? 切换应该是成功的,要不也发不出短信来,短信是能成功发出去,但是接收显示不正确(用手机接收)。
-------------
试了一下,流程大致这样:
AT+CMGF=1
AT+CMGS="1238XXXXXXX"<CR>4E2D^Z
这样的话,手机就收到“中”!(中的编码是4E2D)
------------
AT+CMGF=1
AT+CMGS="1238XXXXXXX"<CR>B^Z
这样的话,手机就收到“?”! // 用TEXT模式发短信息流程
AT+CMGF=1\r // TXT模式
//AT+CSCA="+8613800512500" // 写信息中心号码
AT+CSCS="GSM"\r // 字符集
AT+CMGS="+8618913179619"\r // 写手机号
>HELLO // 发"HELLO"
1A // (ctrl-Z)以十六进制发送 【2楼】 ludikn
TEXT模式,还可以发送汉字,你好强啊。 to 4楼:
试验的结果就是这样,我也非常困惑,不知原因在哪里。
to 3楼:
我的流程和你的一样。 你有几个300的模块啊,换一个试一试!
还有你看看除了中字能发,其他的还能发吗?
按照3楼的方法应该是没有错的。 AT+CSCS="GSM"\r // 字符集
没有看到你有选择字符集。 下面是我做的一个项目的短信息调试笔记,希望对你有帮助。
/******************************短消息命令*******************************************
// AT+CSMS 选择消息业务
AT+CSMS=0 // SMS 的AT 命令兼容GSM 07.05 Phase 2
AT+CSMS=1 // SMS 的AT 命令兼容GSM 07.05 Phase 2+
// AT+CMGF 选择消息格式
AT+CMGF? // 查询当前值
AT+CMGF=0 // PDU: 0
AT+CMGF=1 // TXT: 1
// AT+CMGL 列举短消息,AT+CMGF=0 PDU模式
AT+CMGL=0 // 接收未读
AT+CMGL=1 // 接收已读
AT+CMGL=2 // 存储未发送
AT+CMGL=3 // 存储已发送
AT+CMGL=4 // 所有消息
// AT+CMGL 列举短消息,AT+CMGF=1 TXT模式,等于号后前的是字符串
AT+CMGL="REC UNREAD" // 接收未读
AT+CMGL="REC READ" // 接收已读
AT+CMGL="STO UNSENT" // 存储未发送
AT+CMGL="STO SENT" // 存储已发送
AT+CMGL="ALL" // 所有消息
// 删除信息
AT+CMGD=1,4 // 删除sim卡上已发的和未发的全部短信
AT+CMGD=1,2 // 删除已读短信
// 将消息提示该为中断方式。这样在收到短信的时候内容直接用+CMT: 提示出来,不存卡。
AT+CNMI=2,2,0,0,0
// 用TEXT模式发短信息流程
AT+CMGF=1\r // TXT模式
//AT+CSCA="+8613800512500" // 写信息中心号码
AT+CSCS="GSM"\r // 字符集
AT+CMGS="+8618913179619"\r // 写手机号
>HELLO // 发"HELLO"
1A // (ctrl-Z)以十六进制发送
// 用PDU模式发短信息流程
AT+CMGF=0\r // pdu模式
AT+CSCS="UCS2"\r // 字符集
AT+CMGS= // 之后跟的是从短消息中心之后的所有字符长度
0891683108502105F0 // 短信息地址
11000D91683155845570F1 // 对方手机号
000800 // 14
06 // 要发送的数据长度
4F60597D0021 // 数据
0x1A // (ctrl-Z)以十六进制发送
注: 在发送短信时,SMSC地址可以不要,用00代替。
如发送“你好!”到13554855071.代码如下:
AT+CMGF=0\r
AT+CSCS="UCS2"\r
AT+CMGS=21\r
“0011000D91683155845570F1000801064F60597D0021”
0x1A
******************************************************************************** 建议楼主用PDU格式来发,TEXT模式好像不是所有的机型都支持收发的
不过TEXT比PDU简单,PDU编码比较麻烦一些 还是同样的问题,真被它弄疯了。会不会是模块的问题呢?!
在TEXT方式下竟然能发送中文,却发不了英文字符!!!!!
哪位达人能否指点一下呢。不胜感激! // 用TEXT模式发短信息流程
AT+CMGF=1\r // TXT模式
AT+CSCS="GSM"\r // 字符集
AT+CMGS="+8618913179619"\r // 写手机号
>HELLO // 发"HELLO"
1A // (ctrl-Z)以十六进制发送
LS用上述方法试过了吗?
一共有三种方式来发送和接收SMS信息:Block Mode, Text Mode和PDU Mode。Block Mode已是昔日黄花,目前很少用了。Text Mode是纯文本方式,可使用不同的字符集,从技术上说也可用于发送中文短消息,但国内手机基本上不支持,主要用于欧美地区。PDU Mode被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式。
LS的问题已存在几天了?为什么不咨询一下模块的生产厂家?
提示一下,如果你在短信中用到中文和ASIIC字符(包括数字0123)时,你最好用PDU模式来收发短信。 【11楼】 skype
-------------
你说的方法我试过了,还是一样的!纳闷!
SIM300Z就是不行,原本就是想在TEXT模式下发送ASCII字符的,发现发送不了,于是就弄个中文的编码来发送,发现竟然能发送!!!!!!
用TC35来试,正常得很!同样的处理流程! 最后一个方法,用单片机写代码发送。 SIM300Z就是用单片机来控制的,真是见鬼了!!!
短信是能发出去的,但接收到的都是些乱七八糟的东西,比如:污?????? 潮机????? ??敲示”?
收到这些鸟东东!!!明明是TEXT方式下的,出来这些东西!
继续摸索,继续等待高人点拨~~~~ 出现这些字符应该是乱码,
你可以再找过一个手机试试。
因为我以前做的时候发现有些手机在接收信息时不支持某些编码的 【15楼】 shouwangzhe
我发送的那些数据都是ASCII字符的,不是什么特别的编码。
手机已经测试了两台,都一样呢!!! 停了几天,继续。
还是这个问题,真烦人!!!
把SIM300Z或者SIM340Z和计算机连接,在TEXT方式下发送短信:
AT+CMGF=1
OK
AT+CSCS="GSM"
OK
AT+CMGS="+86135********"
> hello
+CMGS: 203
OK
-------------
手机收到的是:桥?
换了几个手机测试都一样
--------
如果发送的内容是:hi
手机就收到:桩
------------------------------
真是晕死了,哪位遇到过这种情况呢?能否指点一番,不胜感激!
==================================================================================
另外说明一下,在TC35下按照这样发短信却很正常!!! sim300等模块讨论群:60595837 mark 太强悍的模块了
没遇到过类似的问题 AT+CSCS="GSM"
OK
这之后执行一下AT&W,然后再发一遍呢?
然后发完短信后;再执行一下AT+CSCS?把结果发上来 mark shit 我也遇到同样的问题呢? mark 回复【24楼】wang2001511
mark
-----------------------------------------------------------------------
页:
[1]