本文主要是介绍nRF51822 power on reset fail! amazing!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言:用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引脚是低电平复位的证明如下图
这篇关于nRF51822 power on reset fail! amazing!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!