4667|16

64

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

麻烦大家了,关于短信通过模块反向发送回单片机的问题,卡住了 [复制链接]

单片机串口连接sim100模块,可以通过单片机串口发送指令给sim100正常发送短信,但是当我反过来用手机发送信息给sim100,再用单片机读取时,发现单片机似乎无法明白我发的是什么
比如我们平常用串口调试助手,除了用来接受单片机向串口发送的数据外,还有个手动发送的选项
通过这个选项我们可以把数据反过来发送给串口接收!比如手动发送个:Z那么单片机串口就能接收到Z
现在我想通过短信方向发指令给单片机,结果短信(内容同样为Z),但是发到sim卡后,无法让串口知道我发了什么,即使我在串口用了读取指令还是不行
所以想问下大家短信的内容怎么样才能让单片机知道呢!
第一次发帖,不好意思,麻烦大家了

最新回复

虽然手机发送Z给模块直接传输到串口(AT+CNMI=2,2,0,0,0指令用来设定该功能的) 但是单片机收到的确是 +CMT: "+8615862938263",,"08/09/02,15:34:01+32" Z 这么一大串,(如果直接连接电脑串口,通过串口助手的发送Z的话,只是传送一个Z,所以中断顺利产生,但是换成手机,发1个Z就要带上那么一大串)所以可能单片机不知道一条短信是否读完就提前结束了,也就是说单片机很可能没收到Z就认为短消息已经结束,从而没有收到Z, 串口中断是每收到一个字符就会产生一次的, 可能收的东西还没全呢,,要想办法收全了再处理。 想做个做个延时,等所有的字符都收齐了在处理,可是自己不懂如何做延时,谁懂得告诉我一下  详情 回复 发表于 2008-9-2 19:45
点赞 关注

回复
举报

60

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
现在就是怎么把内容从模块的sim卡里输送到单片机串口里
另外串口调试助手的手动发送,应该是把内容发送到串口吧??
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
没人可以帮帮我么,急死了!
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

4
 
不知道你用的是什么格式?
是PDU还是文本格式?
如果你选择的是文本格式,那么你用手机发短信,只能用英文和数字!
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

5
 
文本格式的,用的是英文,关键是无法解决如何让单片机知道来了短信没,或者来的短信序列号多少,感觉单片机反应不过来
如果是让单片机直接读取已经发送好的短信是可以的
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

6
 
看看sim100模块的手册,
来了短信缓存在那里?那些寄存器置位了。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

7
 
你的单片机应该用中断将数据先收下来,然后再集中处理。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
5.6楼2位大哥,能否说的再详细点
我用的是 AT+CNMI=2,2,,1
这组参数来了新信息直接显示到串口,不作存储
这样的话理论上短信直接到达串口,可是单片机就是没反应!

所以想恳请2位指点下:1所谓的短信缓存在那里?是不是指存在sim卡或者直接传输到串口让单片机读取
2用中断将数据先收下来??是什么意思,是不是设置,只要有新短信就自动提示序号,然后单片机读取呢?
我其实只是发送一个大写字母Z,用文本模式,感觉没什么大数据啊
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

9
 
那就可能是单片机的接收部分没处理好,请注意数据位,校验位等等,按习惯,从单片机或猫里面出来的都是偶校验,这样的话,包含一个起始位,8个数据位,1个校验位,一共10个数据位,在串口通信中,如果一个数据接收不完全,会影响到后面几个的接收。
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

10
 
不过同样的接收,我如果用tcp连接因特网,在用网络调试助手发送是成功的
但是建立短信连接,用短信发送就不行了,所以不知道这样算不算数据位不对!
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

11
 
试试将猫的输出给一个软件,比如串口调试助手或者超级终端,看看他们是否正确接收,且接收的数据是否正确,如果他们也不能正确接收,那就是猫的问题,当然软件收数据要用多个软件比较才行,有时一个软件不能正常接收并不表示发送方不正常,而且软件也要多改改设置来看效果。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

12
 
超级终端,串口助手都可以的。。。唉,现在也不知道错在哪
 
 
 

回复

67

帖子

0

TA的资源

禁止访问

13
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

14
 
既然是单片机的问题,那就多改几次程序试试,比如数据位之类的,俺遇到过这种错误,数据位不一致,导致每隔几个字符收到一个。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

15
 
能不能详细说下数据位,这个我不太明白,我发的是文本模式,最简单的z,数据位有影响么??
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

16
 
数据位就是通过改变单片机的串口配置,51单片机上好像用scon来控制,可以起始位为多少位,终止位为多少位,是否有校验位,以及奇或偶校验等等。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

17
 
虽然手机发送Z给模块直接传输到串口(AT+CNMI=2,2,0,0,0指令用来设定该功能的)
但是单片机收到的确是
+CMT: "+8615862938263",,"08/09/02,15:34:01+32"
Z
这么一大串,(如果直接连接电脑串口,通过串口助手的发送Z的话,只是传送一个Z,所以中断顺利产生,但是换成手机,发1个Z就要带上那么一大串)所以可能单片机不知道一条短信是否读完就提前结束了,也就是说单片机很可能没收到Z就认为短消息已经结束,从而没有收到Z,
串口中断是每收到一个字符就会产生一次的,
可能收的东西还没全呢,,要想办法收全了再处理。

想做个做个延时,等所有的字符都收齐了在处理,可是自己不懂如何做延时,谁懂得告诉我一下
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表