Ну для "боевых" устройств у меня есть некий алгоритм. Работа
сезонная - 3 месяца достаточно интенсивной работы и 9 простоя.
Проконтролировать время простоя нет возможности - спят в режиме
LPM4. Поэтому сначала смотрю напряжение при тактовой частоте 1 МГц,
потом частоту увеличиваю, смотрю просадку и гоняю чуток. Правда
сейчас ставим LiMn - геморроя меньше (но и емкость, увы...) Ну и,
что MSP, что CC1101 работают и при 1.8В питании - это хорошо. А вот
эта коробка с севшими в ноль батареями у меня совсем по другой причине :) Девайсы в ней все новые. Пролежали с пол-года, посмотрели - мертвые. Прислали мне для разборок. Все оказалось банально, мой косяк - <b>некоторые</b> CC1101 при выключении не успевали выполнять сброс внутренних регистров и оставались со жрачкой 2 мА. Вылечилось задержкой... Зато у меня появились платки для различных "курятников" :)
void TI_CC_Off(void)
{
TI_CC_SPIStrobe(TI_CCxxx0_SRES);
__delay_cycles(300); // ждем 300 мкс для инициализации регистров
TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0, 0x2F); // выставим 0 в GDO0
TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG2, 0x2F); // выставим 0 в GDO2
TI_CC_SPIStrobe(TI_CCxxx0_SPWD); // PowerDown
}