Size: a a a

Анархическая электроника

2020 March 14

YB

Yurii Borysov in Анархическая электроника
кода немного
источник

r

rfulgio in Анархическая электроника
#define PERIOD_1 100 // период первой задачи

#define PERIOD_2 2000 // период второй задачи

#define PERIOD_3 666 // ...

unsigned long timer_1, timer_2, timer_3;

void setup() {

}

void loop() {

if (millis() - timer_1 >= PERIOD_1) { // условие таймера

timer_1 = millis(); // сброс таймера

// выполняем блок №1 каждые PERIOD_1 миллисекунд

}

if (millis() - timer_2 >= PERIOD_2) {

timer_2 = millis();

// выполняем блок №2 каждые PERIOD_2 миллисекунд

}

if (millis() - timer_3 >= PERIOD_3) {

timer_3 = millis();

// выполняем блок №3 каждые PERIOD_3 миллисекунд

}

}
источник

r

rfulgio in Анархическая электроника
Вот например
источник

YB

Yurii Borysov in Анархическая электроника
короче
источник

YB

Yurii Borysov in Анархическая электроника
millis() - возвращает тебе количество миллисекунд со старта ардуины
источник

r

rfulgio in Анархическая электроника
Yurii Borysov
millis() - возвращает тебе количество миллисекунд со старта ардуины
Это я знаю
источник

YB

Yurii Borysov in Анархическая электроника
от этого и пляшешь - сохраняешь себе это время в переменные, вычитаешь, сравничваешь с необходимыми тебе периодами
источник

r

rfulgio in Анархическая электроника
Yurii Borysov
от этого и пляшешь - сохраняешь себе это время в переменные, вычитаешь, сравничваешь с необходимыми тебе периодами
Если мне нужно зажечь светодиод на 1 микросекунду
источник

YB

Yurii Borysov in Анархическая электроника
это 16 тактов
источник

YB

Yurii Borysov in Анархическая электроника
один такт - зажигаешь, и делаешь 14 нопов
источник

r

rfulgio in Анархическая электроника
Yurii Borysov
это 16 тактов
Как определить?
источник

YB

Yurii Borysov in Анархическая электроника
с одной микросекундой, тебе проще бизивейт сделать
источник

r

rfulgio in Анархическая электроника
Yurii Borysov
с одной микросекундой, тебе проще бизивейт сделать
Это что?
источник

YB

Yurii Borysov in Анархическая электроника
а если миллисекунда, тебе просто нужно узнать что сохранённый миллис стал на меньше текущего
источник

YB

Yurii Borysov in Анархическая электроника
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
источник

YB

Yurii Borysov in Анархическая электроника
вот тебе ожидание 12 тактов например
источник

r

rfulgio in Анархическая электроника
Yurii Borysov
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
asm("nop\n\t");
Мне си++ понятнее)
источник

YB

Yurii Borysov in Анархическая электроника
тебе микросекунда нужна или милли-?
источник

r

rfulgio in Анархическая электроника
Yurii Borysov
это 16 тактов
Как получилось 16 тактов?
источник

r

rfulgio in Анархическая электроника
Yurii Borysov
тебе микросекунда нужна или милли-?
Микросекунда
источник