Ксения (14.06.2013 20:08 - 20:32, просмотров: 206) ответил AU08 на А где можно про режим Sleep почитать? С чем его едят и как правильно готовить? К примеру, поступление прерывания автоматом ядро из Sleep выводит или как? И как в main_loop из прерывания корректно вернуться,
В регистре PR.PRGEN (Power Reduction) вырубить питание всего, что не нужно (не используется). AES точно можно отключить, он много потребляет. Вот так: http://www.atmel.com/Images/doc8267.pdf
PR.PRGEN |= PR_AES_bm;
А полный список всего, что можно обесточить, виден в дефайнах:
#define PR_AES_bm 0x10 ///< AES bit mask
#define PR_AES_bp 4 ///< AES bit position
#define PR_EBI_bm 0x08 ///< External Bus Interface bit mask
#define PR_EBI_bp 3 ///< External Bus Interface bit position
#define PR_RTC_bm 0x04 ///< Real-time Counter bit mask
#define PR_RTC_bp 2 ///< Real-time Counter bit position
#define PR_EVSYS_bm 0x02 ///< Event System bit mask
#define PR_EVSYS_bp 1 ///< Event System bit position
#define PR_DMA_bm 0x01 ///< DMA-Controller bit mask
#define PR_DMA_bp 0 ///< DMA-Controller bit position
У себя я вырубаю вот это:
PR.PRGEN = PR_AES_bm | PR_EBI_bm | PR_RTC_bm | PR_DMA_bm; // Disable: Crypto, EBI, RTC, DMA