Вт янв 01, 2019 17:47:41
Вт янв 01, 2019 18:13:21
Ср янв 02, 2019 08:58:02
Ср янв 02, 2019 10:44:41
Ср янв 02, 2019 13:51:40
Ср янв 02, 2019 16:20:24
Ср янв 02, 2019 17:54:11
Ср янв 02, 2019 18:16:55
Вт янв 08, 2019 10:35:01
Вт янв 08, 2019 16:05:30
Вт янв 08, 2019 17:51:43
// процедура засыпания
void sleep()
{
// проверяем нужно ли уходить в глубокий сон (PowerDown)
if(TSTFLAG(FLAG_DEEP_SLEEP) && !TSTFLAG(FLAG_KEY_PRESSED))
{
oled_off(); // Выключаем питание дисплея
flags = 0; // очищаем флаги
reset_disp; // очищаем буфер дисплея
// разрешаем спящий режим (режим Power-down)
SMCR=(1<<SE) | (0<<SM2) | (1<<SM1) | (0<<SM0); // разрешаем спящий режим (режим Power-down)
// разрешаем прерывание PCINT
PCICR=(0<<PCIE2) | (1<<PCIE1) | (0<<PCIE0);
// Засыпаем
#asm("sleep")
// Просыпаемся
oled_init(); // Включаем питание дисплея и инициализируем его
// измеряем напряжение питания
measure_power();
// разрешаем спящий режим (режим Idle)
SMCR=(1<<SE) | (0<<SM2) | (0<<SM1) | (0<<SM0); // разрешаем спящий режим (режим Idle)
}
else
{
// засыпаем в режиме Idle
#asm("sleep")
// Просыпаемся
}
}
// Главная
void main(void)
{
...
// Инициализация прерывания от кнопок
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// Interrupt on any change on pins PCINT0-7: Off
// Interrupt on any change on pins PCINT8-14: On
// Interrupt on any change on pins PCINT16-23: Off
EICRA=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
EIMSK=(0<<INT1) | (0<<INT0);
PCICR=(0<<PCIE2) | (1<<PCIE1) | (0<<PCIE0);
PCMSK1=(0<<PCINT14) | (0<<PCINT13) | (0<<PCINT12) | (1<<PCINT11) | (1<<PCINT10) | (1<<PCINT9) | (1<<PCINT8);
PCIFR=(0<<PCIF2) | (1<<PCIF1) | (0<<PCIF0);
...
// режим Idle и разрешаем спящий режим
SMCR=(1<<SE) | (0<<SM2) | (0<<SM1) | (0<<SM0);
// Global enable interrupts
#asm("sei")
oled_init(); // Включаем питание дисплея и инициализируем его
while (1)
{
// Place your code here
...
sleep();
}
}
Вт янв 08, 2019 19:09:13
Вт янв 08, 2019 20:13:31
Ср янв 09, 2019 11:53:58
Ср янв 09, 2019 12:19:59
Ср янв 09, 2019 14:05:36
Ср янв 09, 2019 17:37:10
Ср янв 09, 2019 18:42:53
Ср янв 09, 2019 18:47:15
Ср янв 09, 2019 19:16:30