Q1:1,MSP430进入LP 模式后,CPU 停止运行,那么,进入中断执行退出后,由于SR的恢复,导致还处于LP 模式,是否意味着,CPU 在退出中断后立即停止了呢?
2,也就是说,进入LP 模式后,要让非中断流程运行的话,只能在中断退出前把保存在堆栈里面的SR 修改了?3,由于中断自动恢复保存的寄存器,要想在中断程序里面修改堆栈里面的保存的SR,只能用汇编了?
Q2:1、是的。
2、是的。
3、是的。_BIS_SR_IRQ() 以及_BIC_SR_IRQ() 函数可用。 Q2:有个程序进入LPM3 后拿万用表测电流在40uA 左右,不是的datasheet里说的小于2uA。万用表2mA 档串接在电池和VCC 之间。甚至于我写了最基本的初始化函数和main函数如下,测试电流值仍然在40 多uA。我想知道如何才能准确测得LPM3 下的电流,或者说是否万用表本身有影响?因为我们的程序要求有至少5年电池寿命,用的125mA 的CR1632,需要耗电在2.8uA下才行。
A3:我和你做的东西是差不多的,也用的是F201X 或F21X1 的片子,所以也测量过这个,对这个经验我有这几方面:
1、万用表的问题:有些万用表最小是2mA档,根据测量仪器的特性,接近满量程时的测量数据较准确,所以2mA 档测量2uA的电流时,相差1000倍,极不精确。我测量时使用的是一块带有200uA档的DT830数字表,实测LPM3 下只有0.7uA,与F201X 手册上标注一致。
2、湿度与PCB防潮问题:如果是实验板,因为上边没有阻焊膜,很容易受潮造成板上漏电,所以这种低功耗的东西一定要密封好,建议成品直接用树脂或是胶封起来,哪怕是热熔胶,也比暴露在空气中强。我测试的时候,就因为对着板子喘了口气,就发现表上电流示数开始变大了——这个电流实在是太小了,小到不能忽视任何干扰了。另外,要是手摸了板上子特别是电源两端的话,这个直接会造成几十到几百微安的电流,所以用手拿着板子测是极不科学的,要是不拿板子表笔不好扎的话,建议去电子商场买一对勾夹子,我买的1.5一个,3 块钱一对。勾好以后把板子悬空放着最好。
3、电路内的损耗电流:尤其是RC 方式的SLOPE,要想省电就必须严格控制电容的容量,越大越费电,或是说,如果你的电话容有余量的话,就要严格控制充电时间,否则充的时间长了,也一样会发生耗电增加的情况。最注意的就是,不要充上电之后去睡,醒了再放电检测,那样因为漏电的关系,损耗最大,哪怕你的电
容容量很小也不行。
|