采用Text模式发送短信息的问题????

lingfeng42 2004-07-29 10:53:55
我是这样写的
sprintf(cmd, "AT+CSCA=%s\r\n", "短信中心号码");
WriteComm(cmd, strlen(cmd));
sprintf(cmd, "AT+CMGF=%d\r\n",1);
WriteComm(cmd, strlen(cmd));
sprintf(cmd, "AT+CMGS=%s\r", "目的手机号码");
WriteComm(cmd, strlen(cmd));
nLength = ReadComm(ans, 128);
if(nLength == 4 && strncmp(ans, "\r\n> ", 4) == 0)
{
WriteComm(pdu, strlen("短信的内容"));
}
请问这样写的格式是不是不对啊?我对这些也不怎么了解,,其中的"短信的内容"用不用编码啊???希望各位指点迷津!!!!!!!!!!!
...全文
335 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lingfeng42 2004-07-29
  • 打赏
  • 举报
回复
是不是上面写的sprintf(cmd, "AT+CMGF=%d\r\n",1);这个啊
zhangnanonnet 2004-07-29
  • 打赏
  • 举报
回复
对了,我记得WAVECOM发短信之前有个命令事设置用什么编码方式发送,好像是CMGF,你查查这个命令,设置一下发送编码模式
zhangnanonnet 2004-07-29
  • 打赏
  • 举报
回复
你仔细看看AT指令集,TEXT很简单的,不需要任何编码。但是记住只能法英文和数字
lingfeng42 2004-07-29
  • 打赏
  • 举报
回复
谢谢你了,我的手机还是接收不到啊,
zhangnanonnet 2004-07-29
  • 打赏
  • 举报
回复
但是我看你
sprintf(cmd, "AT+CMGS=%s\r", "目的手机号码");
WriteComm(cmd, strlen(cmd));
nLength = ReadComm(ans, 128);
if(nLength == 4 && strncmp(ans, "\r\n> ", 4) == 0)
{
WriteComm(pdu, strlen("短信的内容"));
}
这么写是明显不对的,CMGS中的手机号码和内容应该事一次发送出去的
改成这样试试
sprintf(cmd, "AT+CMGS=%s\r%s\r", "目的手机号码", “短信内容“);
WriteComm(cmd, strlen(cmd));
具体的格式对不对我就不知道了,你要看你的指令集中的格式,我看你的指令感觉像是WAVECOM的吧。
zhangnanonnet 2004-07-29
  • 打赏
  • 举报
回复
text事不用编码的,但是只能发送英文和数字,汉字必须用UCS2(GSM规范),CDMA部分使用的事UCS2,也有UTF8。这需要你仔细看你的手机MODEL的指令集说明了
zhangnanonnet 2004-07-29
  • 打赏
  • 举报
回复
?结贴?
lingfeng42 2004-07-29
  • 打赏
  • 举报
回复
结贴
lingfeng42 2004-07-29
  • 打赏
  • 举报
回复
好的,谢谢
zhangnanonnet 2004-07-29
  • 打赏
  • 举报
回复
那我就不知道了,我都不知道你的指令集是什么,你可以自己看看你的指令集?
对于接受就不好说了,不同的MODEL收来的东西不一样,你可以用超级终端连着收过来看看,如果涉及到编码网上有好多编码的转换什么的。用GOOGLE就能搜到
lingfeng42 2004-07-29
  • 打赏
  • 举报
回复
对了,那接收你还知道吗?

2,644

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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