首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 麻烦大家了,关于短信通过模块反向发送回单片机的问题,卡住了 [已结贴,结贴人:lwking412]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwking412
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-22 09:35:16 楼主
    单片机串口连接sim100模块,可以通过单片机串口发送指令给sim100正常发送短信,但是当我反过来用手机发送信息给sim100,再用单片机读取时,发现单片机似乎无法明白我发的是什么
    比如我们平常用串口调试助手,除了用来接受单片机向串口发送的数据外,还有个手动发送的选项
    通过这个选项我们可以把数据反过来发送给串口接收!比如手动发送个:Z那么单片机串口就能接收到Z
    现在我想通过短信方向发指令给单片机,结果短信(内容同样为Z),但是发到sim卡后,无法让串口知道我发了什么,即使我在串口用了读取指令还是不行
    所以想问下大家短信的内容怎么样才能让单片机知道呢!
    第一次发帖,不好意思,麻烦大家了
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwking412
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 09:38:201楼 得分:0
    现在就是怎么把内容从模块的sim卡里输送到单片机串口里
    另外串口调试助手的手动发送,应该是把内容发送到串口吧??
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwking412
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 13:01:042楼 得分:0
    没人可以帮帮我么,急死了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jeffery223
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 23:33:353楼 得分:10
    不知道你用的是什么格式?
    是PDU还是文本格式?
    如果你选择的是文本格式,那么你用手机发短信,只能用英文和数字!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwking412
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 14:56:154楼 得分:0
    文本格式的,用的是英文,关键是无法解决如何让单片机知道来了短信没,或者来的短信序列号多少,感觉单片机反应不过来
    如果是让单片机直接读取已经发送好的短信是可以的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhujinqiang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 15:57:325楼 得分:20
    看看sim100模块的手册,
    来了短信缓存在那里?那些寄存器置位了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jennyvenus
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      5

      5

    发表于:2008-08-25 09:43:136楼 得分:30
    你的单片机应该用中断将数据先收下来,然后再集中处理。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwking412
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 00:43:047楼 得分:0
    5.6楼2位大哥,能否说的再详细点
    我用的是 AT+CNMI=2,2,,1
    这组参数来了新信息直接显示到串口,不作存储
    这样的话理论上短信直接到达串口,可是单片机就是没反应!

    所以想恳请2位指点下:1所谓的短信缓存在那里?是不是指存在sim卡或者直接传输到串口让单片机读取
    2用中断将数据先收下来??是什么意思,是不是设置,只要有新短信就自动提示序号,然后单片机读取呢?
    我其实只是发送一个大写字母Z,用文本模式,感觉没什么大数据啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jennyvenus
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      5

      5

    发表于:2008-08-26 09:12:408楼 得分:20
    那就可能是单片机的接收部分没处理好,请注意数据位,校验位等等,按习惯,从单片机或猫里面出来的都是偶校验,这样的话,包含一个起始位,8个数据位,1个校验位,一共10个数据位,在串口通信中,如果一个数据接收不完全,会影响到后面几个的接收。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwking412
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 09:30:599楼 得分:0
    不过同样的接收,我如果用tcp连接因特网,在用网络调试助手发送是成功的
    但是建立短信连接,用短信发送就不行了,所以不知道这样算不算数据位不对!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jennyvenus
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      5

      5

    发表于:2008-08-29 13:53:5510楼 得分:10
    试试将猫的输出给一个软件,比如串口调试助手或者超级终端,看看他们是否正确接收,且接收的数据是否正确,如果他们也不能正确接收,那就是猫的问题,当然软件收数据要用多个软件比较才行,有时一个软件不能正常接收并不表示发送方不正常,而且软件也要多改改设置来看效果。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwking412
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-31 07:59:0211楼 得分:0
    超级终端,串口助手都可以的。。。唉,现在也不知道错在哪
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hex99
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-31 08:13:2012楼 得分:0
    要先确定单片机接收数据是正确的!!!!联系:wire@tom.com
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jennyvenus
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      5

      5

    发表于:2008-09-01 11:41:1613楼 得分:10
    既然是单片机的问题,那就多改几次程序试试,比如数据位之类的,俺遇到过这种错误,数据位不一致,导致每隔几个字符收到一个。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwking412
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-01 17:10:5714楼 得分:0
    能不能详细说下数据位,这个我不太明白,我发的是文本模式,最简单的z,数据位有影响么??
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jennyvenus
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      5

      5

    发表于:2008-09-02 09:28:1215楼 得分:0
    数据位就是通过改变单片机的串口配置,51单片机上好像用scon来控制,可以起始位为多少位,终止位为多少位,是否有校验位,以及奇或偶校验等等。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lwking412
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-02 19:45:0116楼 得分:0
    虽然手机发送Z给模块直接传输到串口(AT+CNMI=2,2,0,0,0指令用来设定该功能的)
    但是单片机收到的确是
    +CMT: "+8615862938263",,"08/09/02,15:34:01+32"
    Z
    这么一大串,(如果直接连接电脑串口,通过串口助手的发送Z的话,只是传送一个Z,所以中断顺利产生,但是换成手机,发1个Z就要带上那么一大串)所以可能单片机不知道一条短信是否读完就提前结束了,也就是说单片机很可能没收到Z就认为短消息已经结束,从而没有收到Z,
    串口中断是每收到一个字符就会产生一次的,
    可能收的东西还没全呢,,要想办法收全了再处理。

    想做个做个延时,等所有的字符都收齐了在处理,可是自己不懂如何做延时,谁懂得告诉我一下
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved