之前使用的开机函数

void Gprs_modem_start_up()
{
GPIO_SetBits(GPIOB,GPIO_Pin_0); //RESET 脚要置成高电平,防止重启
do

GPIO_SetBits(GPIOF,GPIO_Pin_11);//开机电平       (先拉高后拉低是因为模块上反相了,即当单片机f11引脚为高,sim800的pwk引脚为低。)
//线程延时3秒供开机使用
rt_thread_delay(150);
//先拉高电平,再拉低
GPIO_ResetBits(GPIOF,GPIO_Pin_11);
rt_thread_delay(50);
}while((GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_4)) ==0x01);
}

这样导致的结果是按单片机的复位键并执行这段代码以后,sim800模块有时是开机状态,有时是关机状态,当时不解,但看了开关机时序图后明白了,是因为该函数虽然开机考虑了大于1s,但是没有考虑status引脚变化的延迟时间是大于4s,也就是说当我们开机以后,status可能并没有很快的反应出高电压,此时它仍然是低,所以该段程序又执行一遍拉高拉低的动作,使其关机了。

我将代码改为以下代码,复位后就总是能是sim800模块开机了。当关机时,拉低大于1s开机,当开机时,拉低大于3s,模块重启。

void Gprs_modem_start_up()
{
GPIO_SetBits(GPIOB,GPIO_Pin_0); //RESET 脚要置成高电平,防止重启
do
{
GPIO_SetBits(GPIOF,GPIO_Pin_11);//开机电平
//线程延时3秒供开机使用
rt_thread_delay(320);
//先拉高电平,再拉低
GPIO_ResetBits(GPIOF,GPIO_Pin_11);
rt_thread_delay(80);
}while((GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_4)) ==0x01);
}

GPRS模块上电后复位会导致开机函数不正常的问题原因及解决方法的更多相关文章

  1. AndroidStudio升级后出现Refresh gradle project和connection timed out的原因和解决方法

    笔者发现现在升级AndroidStudio不需要FQ了,于是在看到了升级提醒后手贱点击了升级.可悲剧的一幕发生了, 正在写的一个项目从上到下密密麻麻的错误,看了一下提示要求升级Gradle 那就升级吧 ...

  2. SharePoint 2010升级到sharePoint 2013后,人员失去对网站的权限的原因及解决方法。The reason and solution for permission lost after the upgrading

    昨天碰到了一个问题,一个网站在从SharePoint 2010升级到SharePoint 2013后,人员都不能登录了,必须重加赋权,人员才能登录,这样非常麻烦. 原因:是认证方式的问题.在Share ...

  3. 误删/tmp导致hadoop无法启停, jsp无法查看的解决方法

    问题描述 我的hadoop版本是hadoop-cdh4.2.0,由于误删了/tmp目录(不是hadoop.tmp.dir设定的那个目录),在Namenode,SecondaryNamenode和Dat ...

  4. Struts2中使用execAndWait后,在 Action中调用getXXX()方法报告java.lang.NullPointerException异常的原因和解决方法

    使用 Struts2 编写页面,遇到一个要长时间运行的接口,因此增加了一个execAndWait ,结果在 Action 中调用 getContext()的时候报告异常 ActionContext c ...

  5. mssql sqlserver 表增加列后,视图不会自动更新相关列的两种解决方法分享

    摘要: 今天对物理数据表,进行增加列操作后,程序一直显示无法找到相应列,通过仔细比对发现,视图中无相应列更新,下文将具体的解决方法分享如下: 例: create view vw_test as sel ...

  6. ssh 免密码登录(设置后仍需输密码的原因及解决方法)

    按操作步骤操作不行的最可能原因是:文件权限,不论是a机还是要访问的b机的文件的权限都要改成对应的700,600:必须严格是这个权限,否则会出现设置免密fail的情况. serverA 免密码登录到 s ...

  7. 安装xenapp后,非管理员连接RDP出现桌面当前不可用的解决方法

    安装完xenapp后,非管理员帐号就不能远程登录到2008服务器. 修改方法如下:1.启动 Citrix AppCenter展开citrix资源.Xenapp.<场地>.策略,右面的窗格切 ...

  8. mysql导出csv文件excel打开后数字用科学计数法显示且低位变0的解决方法

    Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0. Excel打开csv文件时,只要字段值都是数字,它 ...

  9. libc.so.6被删后导致系统无法使用的原因及解决方法

    记一次升级glibc库发生的错误 今天给glibc库升级,发生了一件让我吓出一声汗的事情,我把动态库中的libc.so.6给删了,瞬间所有的非系统命令都无法使用,使用就报错 当时就吓尿了,生产环境被我 ...

随机推荐

  1. databasefactory.createdatabase Web.config 配置关键点提醒

    <configuration>  <configSections>    <section name="dataConfiguration" type ...

  2. html2canvaces用法,js截屏并且下载

    1.首先自己下载引入html2canvaces和jquery(我的demo路径是自己本地的) 2.点击截屏按钮后,跳出层的其他部分是取消保存,点击截取获得的图片区域,表示保存 <!DOCTYPE ...

  3. pod install出现[!] /bin/bash -c错误,Installing Realm报错

    pod install出现错误,具体错误信息如下: Installing Realm () [!] /bin/bash -c set -e sh build.sh cocoapods-setup co ...

  4. JQuery + JSON作为前后台数据交换格式实践

    JQuery + JSON作为前后台数据交换 JQuery提供良好的异步加载接口AJAX,可以局部更新页面数据, http://api.jquery.com/category/ajax/ JSON作为 ...

  5. 51CTO专访淘宝清无:漫谈Nginx服务器与Lua语言

    http://os.51cto.com/art/201112/307610.htm 说到Web服务器,也许你第一时间会想到Apache,也许你会想到Nginx.虽然说Apache依然是Web服务器的老 ...

  6. ajax是什么

    1.ajax是什么? ajax: asynchronous javascript and xml: 异步的javascript和xml. ajax是一种用来改善用户体验的技术,其本质是利用浏览器内置的 ...

  7. 使用ajax上传中遇到的问题

    使用ajaxSubmit提交文件时,正确使用返回的json数据需要用eval在转化一下. 前台文件: $("#form1").ajaxSubmit({ url: 'QueryHan ...

  8. vs2013 类名颜色显示黑色,无法修改

    vs2013 类名黑色,修改不起作用,最后找到解决办法. http://stackoverflow.com/questions/10970305/how-can-i-get-user-type-c-s ...

  9. tomcat 内存溢出解决办法

  10. jQuery判断元素是否存在方法

    1.使用javascript判断元素是否存在 if(document.getElementById('div')) { } else { } 2.使用jquery判断元素是否存在 if ($(&quo ...