打印

sim100能把数据通过串口传回给单片机么

[复制链接]
1731|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lwking412|  楼主 | 2008-8-22 10:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的目的是想让SIMl00接收短信作为控制数据,通过串口传送给单片机,单片机分析数据,如果满足条件,则执行来控制 
现在就是无法让短信的内容到达单片机!
如果用模块建立tcp连接,通过网络调试助手这个软件,里面有个手动发送的选项,填入发送的内容,可以到达单片机,但是现在我建议的是短信连接,短信发送给sim100,无法传到单片机
即使我用了读取短信的at指令,还是没效果,不知道什么原因,麻烦大家了

相关帖子

沙发
chunyang| | 2008-8-23 13:03 | 只看该作者

当然可以,任何GSM/GPRS模块都可以

SMS跟TCP/IP无关,使用标准AT指令操作,你用错了或顺序有问题。

使用特权

评论回复
板凳
lwking412|  楼主 | 2008-8-24 15:05 | 只看该作者

还请帮我看看

如果事先发送一条短信给模块,然后再用cmgr读取成功了,但是这样一来有个问题,关键是无法解决如何让单片机知道来了短信没,或者来的短信序列号多少,感觉单片机反应不过来 (当然我设置了指令一有短信就能显示是第几条,但是我想这样和直接显示短信内容差不多。单片机能反应过来么) 
如果是让单片机直接读取已经发送好的短信是可以的

我用的是 AT+CNMI=2,2,,1 
这组参数来了新信息直接显示到串口,不作存储 
这样的话理论上短信直接到达串口,可是单片机就是没反应!

使用特权

评论回复
地板
chunyang| | 2008-8-24 18:08 | 只看该作者

那只能说明你的程序结构有问题

    SMS的通讯速率即使和最古老的MCU的处理能力相比,都像自行车和法拉力赛车比速度一样,你要是非把法拉力用人推着走再说法拉力跑不过自行车,那就是你的问题了。
    用中断方式接收,内存开足够大的缓冲区。

使用特权

评论回复
5
lwking412|  楼主 | 2008-8-26 00:39 | 只看该作者

程序结构的问题么?麻烦chunyang再给点指点

你的意思是说如果程序结构没问题的话
 
AT+CNMI=2,2,,1 这组参数来了新信息直接显示到串口,不作存储


这样的命令是可以成功应用的么??就是说正确的程序,1收到短信就会立刻中断而不会没有响应么?

使用特权

评论回复
6
chunyang| | 2008-8-26 11:49 | 只看该作者

不经SIM卡储存SMS当然是完全可行的

而且SMS通讯频繁的话必须如此,否则SIM卡的擦写次数限制会成为系统可靠性的瓶颈。

使用特权

评论回复
7
lwking412|  楼主 | 2008-9-2 16:24 | 只看该作者

用中断方式接收,内存开足够大的缓冲区。

 你好可否发邮件给你详细请教,很着急
我的中断程序没有开缓冲区,不知道问题在不在这里

使用特权

评论回复
8
lwking412|  楼主 | 2008-9-2 16:46 | 只看该作者

单片机和模块传输的问题2

想让手机发送短消息给单片机,产生中断,执行我想要的中断处理程序






虽然手机发送Z给模块直接传输到串口(AT+CNMI=2,2,0,0,0指令用来设定该功能的) 
但是单片机收到的确是 
+CMT: "+8615862938263",,"08/09/02,15:34:01+32" 

这么一大串,(如果直接连接电脑串口,通过串口助手的发送Z的话,只是传送一个Z,所以中断顺利产生,但是换成手机,发1个Z就要带上那么一大串)所以可能单片机不知道一条短信是否读完就提前结束了,也就是说单片机很可能没收到Z就认为短消息已经结束,从而没有收到Z,请马老师指导下 

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

32

帖子

0

粉丝