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)
А смысл ? конст жрет памяти столько же, а принципиальной разницы я не вижу.