Attiny85 программное обеспечение с помощью кнопки удержание для запуска / смены спящего состоянияC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Attiny85 программное обеспечение с помощью кнопки удержание для запуска / смены спящего состояния

Сообщение Anonymous »

I'm making a software latch with following features:

[*]ATtiny85 @ 1 MHz, BOD disabled
[*]PB0 = LED, PB3 = Button (with internal pull-up) Interrupt on change
[*]Deep sleep until button press
[*]Change state with 2s button hold
АЦП и периферийные устройства отключены для сохранения питания < /li>
< /ul>
Код ниже сейчас работает, но есть какое -то странное поведение, которое иногда не регистрирует кнопку после сна, поэтому он не просыпается. Может ли кто -нибудь помочь улучшить это? < /P>
#include
#include
#include

#define LED_PIN 0 // PB0
#define BUTTON_PIN 3 // PB3

bool ledState = false;
bool buttonHandled = false;

void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);

digitalWrite(LED_PIN, LOW);

GIMSK |= (1 = 2000) return true;
}
return false;
}

// Sleep function
void goToSleep() {
digitalWrite(LED_PIN, LOW);
cli();
wdt_disable(); // Disable watch dog timer to save power
sleep_bod_disable(); // Disable Brown out detector
// Power-saving: disable peripherals
ADCSRA &= ~(1

Подробнее здесь: https://stackoverflow.com/questions/797 ... ate-change
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»