OpenEdv-开源电子网

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

sim900a数据模式切换到命令模式

[复制链接]

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
发表于 2014-11-5 22:34:38 | 显示全部楼层 |阅读模式
5金钱
最近学习sim900a模块,在透传模式下,有数据模式切换到命令模式我写了一段程序来实现:
do
{
Delay(1000);   //延时1s
sprintf(ch, "+++");    //不带回车和换行
UART_Send(ch, strlen(ch));
Delay(500);    //延时0.5s
}while(!strfind(rece, "OK"));
可是不能切换成功,是哪里有问题?



最佳答案

查看完整内容[请看2#楼]

回复【5楼】hello_galaxy: --------------------------------- 中断也不用处理0.5秒这么久吧。。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2014-11-5 22:34:39 | 显示全部楼层
回复【5楼】hello_galaxy:
---------------------------------
中断也不用处理0.5秒这么久吧。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2014-11-5 23:05:21 | 显示全部楼层
用串口助手,试下能否成功,再来写代码。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2014-11-6 13:23:14 | 显示全部楼层
回复【2楼】正点原子:
-----------------------------
原子哥,"连续输入“+++”,中间不能有其他字符,并且输入+号之间不能超过0.5s",这句话是什么意思呢?感觉问题出在这儿!!
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2014-11-6 15:23:02 | 显示全部楼层
意思就是发送+++之前,等待至少1秒钟。
然后连续发:+++,每个+之间的间隔不能超过0.5秒钟。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2014-11-6 18:00:41 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
比如说发“+++”在主函数while里面,在没有中断打断的情况下,发送“+++”时每个加+的间隔肯定小于0.5s的,如果被中断打断很有可能每一个+之间就会大于0.5s,所以切换不成功,要在发“+++”之前关掉中断?
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2014-11-7 12:08:15 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
中断没有这么久,网上还有一种方法,就是AT&D1,DTR引脚拉低1s,再拉高,可惜就是没有找到有这样描述的手册!!
回复

使用道具 举报

55

主题

199

帖子

0

精华

高级会员

Rank: 4

积分
628
金钱
628
注册时间
2014-2-24
在线时间
82 小时
发表于 2016-5-26 15:36:51 | 显示全部楼层
楼主调好了吗
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2016-5-26 16:44:46 | 显示全部楼层

是的
回复

使用道具 举报

2

主题

11

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2016-5-31
在线时间
2 小时
发表于 2016-6-1 20:18:05 | 显示全部楼层
我用单片机的RXD接SIM900A的STXD,TXD接SRXD,GND接GND,通过串口助手发送AT,没反应。用串口线直接连SIM900A,AT有返回OK,各位大神是不是我连接有问题?
回复

使用道具 举报

0

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2016-12-12
在线时间
10 小时
发表于 2016-12-17 22:12:22 | 显示全部楼层
我试的时候回复的是+++,也不成功
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2016-12-19 13:27:36 | 显示全部楼层
没懂??
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-6-9 04:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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