power.c
来自「里面给出了ATmega103单片机编程的C语言实例程序」· C语言 代码 · 共 58 行
C
58 行
/* ATmega103 power.c file
Author : Robert Stuart
Company : PDL Industries Ltd
Date of Creation : 6 September 1999
Tested : Not yet
Function :
*/
/* include */
#include "power.h"
void PowerInitialise( void )
{
MCUCR |= BIT(SM1) | BIT(SM0);
PowerStatus = POWER_RESET;
}
void INT4Interrupt( void )
{
MCUCR &= ~BIT(SE); /* disable sleep mode */
EIMSK &= ~BIT(INT4); /* disable external interrupts INT4 */
EICR &= ~((BIT(ISC41) | BIT(ISC40)) & 0x00);
WDTCR &= ~BIT(WDTOE);
WDTCR |= BIT(WDE);
CLEARBIT( PowerStatus, POWER_SAVE );
GIE;
}
void CheckPower( void )
{
if ( POWER_SUPPLY_OK )
SETBIT( PowerStatus, POWER_OK );
else
{
EIMSK &= ~BIT(INT4); /* disable external interrupts INT4 */
EICR &= ~((BIT(ISC41) | BIT(ISC40)) & 0x00);
EIMSK = BIT(INT4); /* enable external interrupts INT4 */
EICR = (BIT(ISC41) | BIT(ISC40)) & 0x00; /* external low level */
WDTCR |= BIT(WDTOE); /* turn watchdog off */
WDTCR &= ~BIT(WDE);
PowerStatus = POWER_RESET;
SETBIT( PowerStatus, POWER_SAVE ); /* enter sleep mode on next T0 interrupt */
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?