现象:F149带显示一块板,反复上下电,有上电不执行程序(凑巧出现 1-2次,表现是白屏无显示),如果1-2次不执行程序的过程中,马上上电,还是不执行,要过个几分钟,相当于电放光了,才可以执行程序。白屏,说明还没有执行到LCD初始化(程序还没到全屏显示),去测试了一下晶振,没起振,无波形。
然后监测VDD电压3.3V 及复位信号,当VDD电压低于0. 2V 时 在 0. 15-0. 17V之间 马上上电, 就会出现白屏无法启动这种情况(21 ic的一个问题给了莫大帮助)!用示波器看复位波形很不正常,问题得以重现。
//============================================================================================= //函 数 名: InitBCM() - 时钟初始化 // 功能: 确定晶体,采用背频方式,频率为460.8kHz,并外供。 //调用函数: / // 入口参数: / // 出口参数: / // 全局变量: / // 备注: / //============================================================================================= void InitBCM() { //"目前MCU板上是3.6864MHZ WDTCTL=WDTPW+WDTHOLD;//"Stop WDT BCSCTL1&=~(XTS+XT2OFF);//"ACLK不分频=XT2,XT2选选择高频晶体 do {uchar i; IFG1&=~OFIFG;//"Clear OSCFault flag for(i=0xFF;i>0;i--);//" Time for flag to set } while((IFG1&OFIFG)!= 0);//"OSCFault flag still set? BCSCTL2|=SELM1+SELS;//"MCLK = LFXT1 (safe) BCSCTL2|=(DIVM1+DIVM0+DIVS1+DIVS0);//"MCLK4分频P5SEL|=BIT5; }
ansibob:
21ic上早先也有同问,但没人解决(回复)。
http://bbs.21ic.com/icview-443192-1-1.html
ansibob:
在VDD上加个500k电阻,貌似情况不出现了,只是功耗大了6.6uA;或者仍旧是一个假像,也许是VDD下降速度太快,导致手动无法快速定位到1.7V去动作开关了。
ansibob:
回复 ansibob:
果然是假像,另外一块板在0.24V出现死机了