Attiny13a помогите впихнуть код
- Войдите на сайт для отправки комментариев
Ср, 12/10/2016 - 21:16
Всем привет.
Пишу скетч в Arduino IDE для тиньки, которая должна управлять куллером (оборотами) и подсветкой (яркость) с управлением в одну кнопку.
При зажатии кнопки (полторы секунды), тинька должна переключать управление между кулером и подсветкой.
Кратковременное нажатие меняет режим ШИМ на ноге управления выбранным устрйством с шагом 85 (0, 85, 170, 255)
Ужал код насколько хватило мозгов, но все равно имею на выходе перебор в 32 байта.
#include <Bounce2.h>
const int But = 2; //пин кнопки
const int LedLed = 3; //пин статуса светодиода подсветки
const int LedFan = 4; //пин статуса светодиода кулера
const int pinLed = 0; //пин подсветки
const int pinFan = 1; //пин кулера
boolean Select = 0; //выбор режима - 0 = LED , 1 = FAN
int State[] = {0,0};
unsigned long ButTime;
Bounce ButMode = Bounce(But, 50);
void setup() {
pinMode(But, INPUT);
pinMode(LedFan, OUTPUT);
pinMode(LedLed, OUTPUT);
pinMode(pinLed, OUTPUT);
pinMode(pinFan, OUTPUT);
digitalWrite(LedFan, LOW);
digitalWrite(LedLed, HIGH);
}
void loop() {
if(ButMode.update()) {
if(ButMode.read()) {
ButTime = millis();
} else {
if((millis() - ButTime) < 1500) {
State[Select]++;
if(State[Select] > 3) State[Select] = 0;
ButTime = 0;
analogWrite(Select, State[Select] * 85);
}
}
}
if((ButTime > 0) && ((millis() - ButTime) > 1500)) {
Select = !Select;
ButTime = 0;
digitalWrite(LedLed, !Select);
digitalWrite(LedFan, Select);
}
}
Может кто подскажет где и как в коде можно урезать эти 32 байта ?
http://arduino.ru/Tutorial/Upravlenie_portami_cherez_registry
тема про Тиньку (Attiny13) прикручена в самом начале форума. Вы окулиста и (это не грубость, а беспокойство) психиатора посещали? А надо бы.
пины через #define для начала объяви
state byte а не int
и зачем тебе либа?
в 36 строке не делай умножение. переведи десятичные числа необходимого шим в двоичный вид. там скорее всего просто сдвигом можно сделать, ну или как минимум массив с нужными значениями записать и использовать
Всем спасибо, почитал мануальчики про регистры (каюсь не глянул в начало форума в статью про тиньку13)
А смысл ? конст жрет памяти столько же, а принципиальной разницы я не вижу.