OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4991|回复: 4
打印 上一主题 下一主题

GSM 串口模拟手机 手机短信实际触发 串口中断 疑问

[复制链接]

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2015-3-19
在线时间
0 小时
跳转到指定楼层
楼主
发表于 2015-4-13 22:04:20 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5金钱
原子哥 这几天调了调  那个问题解决了 可以把数组中的电话号发过去 不过还是有一些问题请教
用串口助手模拟手机发送指令 第一遍可以,但是第二遍就不对了
还有一个问题 用串口助手模拟可以 但是用手机发送  数组就变成了空的
这是模拟的方法 
这是写在串口中断里边的 
如果有人遇到过希望指点一下  非常感谢 排版不太好 见谅

回复

使用道具 举报

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2015-3-19
在线时间
0 小时
2#
 楼主| 发表于 2015-4-15 22:58:03 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
收到短信的时候会提醒  +CMTI:"SM",2   现在可以做到提取新来的短信条数 然后读取短信  AT+CMGR=2 通过if(strstr((const char*)(USART2_RX_BUF),"abcd")>0) 识别短信内容abcd 现在也可以做到 
AT+CMGR=2 这条指令后,会回复如+CMGR: "REC UNREAD","+8613344557766",...............
我现在通过串口中断里边if(strstr((const char*)(USART2_RX_BUF),"CMGR")>0) 
{
                                                        for(i=0;i<11;i++)
phone_num=USART2_RX_BUF[24+i];
delay_ms(10);

}
来得到手机号 如果用串口助手往串口二发送指令 +CMGR: "REC UNREAD","+8613344557766",如这样,则可以得到手机号,但是通过短信触发,即发送abcd,可以检测到,但是phone_num这个数组成了空的,没获得手机号 
还有一个问题 用串口助手二次发送+CMGR: "REC UNREAD","+8613344557766",时, 数组变成了EC UNREAD 而不是电话号 但是第一次可以得到
昨天有点事 没来得及回复,还希望原子哥帮忙解答下 谢谢!
回复

使用道具 举报

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2015-3-19
在线时间
0 小时
3#
 楼主| 发表于 2015-4-16 09:41:41 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
好吧 谢谢!
回复

使用道具 举报

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

本版积分规则


关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-12-17 22:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表