您的位置:首页 > 大数据 > 人工智能

nRF51822 power on reset fail! amazing!

2017-01-05 18:02 323 查看
前言:用jlink调试代码观察现象与拔掉jlink,对系统重新上电观察到的现象理论是一样的才对,然而重新上电后,感觉单片机根本就不在运行(也就是单片机根本就没复位),于是就去验证单片机有没有运行(在mian函数入口处点亮一盏灯来观察有没有复位).

今天遇到了一个奇葩的问题,单片机nRF51822上电复位失败!

首先想到的是是不是工程设置的问题?一看,没错,有设置。但为什么灯就是没被点亮呢?(能确定灯的控制是配置正确的,因为连着jlink调试的到执行点亮灯的代码,灯可以被正常点亮)



其次想到的是,是不是启动代码的问题呢?看了下启动代码,根据猜想瞎修改,编译报错!无解!

然后就求助万能的网络了,然并卵,无解!尽管nordic开发者社区有人遇到过这样的问题,但细看问题,问题还是跟我这不一样。

接着试图从官方的文档找到解决的办法,但文档上并没有关于太多上电启动的注意说明之类的,亦无解!这个时候有放弃的心了,人也不在状态了!

。。。

就在这时,奇迹发生了,我的手碰到了jlink的USB接口的金属,板子上的多色灯亮了!于是知道了导致问题的所在,肯定是jlink的一端还连着板子的原因(jlink的另一端已不连电脑,另外一端还连着板子),拔掉连着板子的jlink的一端,灯被点亮了!看来是jlink连着板子,电路上的原因造成的!于是我把jlink的一端(微型口那端)又连上板子,灯灭掉了。用万用表去测CPU SWDIO/nRESET引脚,发现电平只有0.45V,也就是低电平!而SWDIO/nRESET引脚是低电平复位,连着jilnk的一端(微型口那端),就会造成CPU一直在不停的复位!难怪CPU的power
on reset 失败,实际并没有失败,只是CPU不停的复位败了,没办法执行点灯程序!附SWDIO/nRESET引脚是低电平复位的证明如下图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CPU 上电复位