Size: a a a

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

2020 August 06

S

Soad in Анархическая электроника
Сергій Tolmeros
но если вам нужные сложные перемигивания зелёный красный - это либо отдельные функции ещё к этим, либо надо делать фоновым процессом
Это значительно упрощает. Но да. Мне потребуются сложные.
Например зелёный/красный.
Или моргание не 1 раз а несколько
источник

СT

Сергій Tolmeros... in Анархическая электроника
Al
Ну такое себе извращение. Нормально делаешь функцию led() и передашь в неё помигать зелёным с таким интервалом
а если надо не мигать, а включить, и выключить только по определённому условию?
источник

A

Al in Анархическая электроника
Сергій Tolmeros
а если надо не мигать, а включить, и выключить только по определённому условию?
Туда же и передавай
источник

СT

Сергій Tolmeros... in Анархическая электроника
Soad
Это значительно упрощает. Но да. Мне потребуются сложные.
Например зелёный/красный.
Или моргание не 1 раз а несколько
ну вот там выше есть times
как раз для этого
blink_green(200,200,1); - 1 раз
blink_green(200,200,2): - 2 раза
источник

A

Al in Анархическая электроника
Сергій Tolmeros
а если надо не мигать, а включить, и выключить только по определённому условию?
Можешь туда команду строкой  отдавать
источник

СT

Сергій Tolmeros... in Анархическая электроника
Al
Можешь туда команду строкой  отдавать
да, MicroPython сразу
и делать exec() или eval() =)
источник

A

Al in Анархическая электроника
Сергій Tolmeros
да, MicroPython сразу
и делать exec() или eval() =)
И джейсоном все обмазать потолще
источник

S

Soad in Анархическая электроника
Сергій Tolmeros
Хотя бы вот так
static inline void turn_on_green() {
 GRN=1;
}

static inline void turn_off_green() {
 GRN=0;
}

void blink_green(unsigned int delay1, unsigned int delay2, unsigned char times) {
 for (unsigned char i=0; i<times; i++) {
    turn_on_green();
    delay_ms(delay1);
    turn_off_green();
    delay_ms(delay2);
 }
}
До сих пор не знаю как работает функция for
источник

СT

Сергій Tolmeros... in Анархическая электроника
FreeRTOS берите
источник

СT

Сергій Tolmeros... in Анархическая электроника
Soad
До сих пор не знаю как работает функция for
это не функция)
источник

СT

Сергій Tolmeros... in Анархическая электроника
и наверное лучше тогда ардуину взять
источник

СT

Сергій Tolmeros... in Анархическая электроника
источник

S

Soad in Анархическая электроника
Насколько я понимаю, на ардуино вообще простой язык. Тут хоть видно регистры и можно понять и разобраться как работает
источник

СT

Сергій Tolmeros... in Анархическая электроника
нет, там C++
просто можно найти библиотеки, поставить и проверить.
источник

СT

Сергій Tolmeros... in Анархическая электроника
те же библиотеки можно и к C прикрутить, или взять avr gcc и С++ компилить, но тоже прикручивать надо.

и в этом сложность будет, разобраться с подключением библиотек в код.
источник

S

Soad in Анархическая электроника
Так ведь codevisionavr тоже позволяет библиотеки привязывать. delay яркий тому пример. Разве нет?
источник

СT

Сергій Tolmeros... in Анархическая электроника
позволяет, только это сложнее там делать когда с нуля
источник

S

Soad in Анархическая электроника
Сергій Tolmeros
позволяет, только это сложнее там делать когда с нуля
Мне требуется разделить нажатие на кнопку на 2 типа. Долгое и короткое.
Правильно ли я думаю..
В теле прерывания по переполнения таймера раз в какое то количество времени проверять нажатие кнопки и соответственно увеличивать значение переменной. Если значение стало выше порога, значит это долгое нажатие. Если кнопку отпустить, значит значение сбросится в 0 и это будет являться коротким нажатием..
Вот только вопрос. А работает ли таймер, когда нажата кнопка. Т.к. кнопка у меня уже в качестве прерывания сделана
источник

СT

Сергій Tolmeros... in Анархическая электроника
в прерывании надо разрешить прерывания
источник

S

Soad in Анархическая электроника
Сергій Tolmeros
в прерывании надо разрешить прерывания
То есть если я к примеру в теле таймера добавлю задержку, пускай в 10 секунд, но перед этим разрешить прерывания, то задержка прервется и начнётся выполнение прерывание от кнопки?
источник