#1 Re: Програмування Arduino » Прошу помощи. Удержание кнопки. » 2020-02-10 14:21:46

Green пише:

И это не предел. Нужно не искать, нужно спрашивать. На всех форумах, во всех разделах. Стесняться не надо.

Да ну в пень всё это. Всем до фонаря. До сих пор не решил проблему. С прерываниями не могу так как на 328 две ноги аппаратного прерывания и их не могу использовать так как у меня USB HID на них. Делать опрос кнопки в трёхсот строчках бред полный. Даже если и с прерываниями что то выйдет то мне без delay совершенно не нужен этот проект. А сложный код для меня слишком сложно. Не так много времени свободного ради одного проекта учить язык программирования. Жаль задумка была хорошей. Форумов 5 проштудировал. Уже и по личкам но все дохера умные и до рукожопов дела нет.

#2 Re: Програмування Arduino » Прошу помощи. Удержание кнопки. » 2020-02-08 11:16:00

Watchdog пише:
VectorCrush пише:

... Мне нужно выполнять проверку после каждой (или через одну) строку? Я только три дня назад начал всем этим заниматься.

Да, во всех тех местах где, по логике, возможен или нужен выход из последовательности вычислений. Три дня - маловато, нужно хотя-бы четыре. smile

Четвёртый идёт smile Вчера начал по форумам искать.

#3 Re: Програмування Arduino » Прошу помощи. Удержание кнопки. » 2020-02-08 10:02:47

renoshnik пише:

TrinketHidCombo.poll();

а где подключение библиотеки ?

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

#4 Re: Програмування Arduino » Прошу помощи. Удержание кнопки. » 2020-02-08 09:33:49

Watchdog пише:

Ну так в тех местах откуда нужно вернуться и выполняйте проверку кнопки. Используйте оператор goto или return, для уменьшения количества скобок в тексте. Возврат же из дерева вычислений и прерывание процессов требует более сложной техники программирования, чем применяется у вас.

Возврат из дерева вычислений мне не нужен. Просто такого и не будет. Если я вас правильно понял. Мне нужно выполнять проверку после каждой (или через одну) строку? Я только три дня назад начал всем этим заниматься.

#5 Re: Програмування Arduino » Прошу помощи. Удержание кнопки. » 2020-02-08 09:18:36

Watchdog пише:

Точку с запятой уберите, в операторе if. А также проясните что и где выполнялось и где у него начало, https://forum.arduino.ua/post.php?tid=2131&qid=30606#если хотите получить какой нибудь ответ.

void loop() {
TrinketHidCombo.poll();
if (myButt.isHolded(11)) {
delay(2); // Начало и нужно в любой момент завершить по отжатию и вернуться в начало без выполнения далее и начать выполнение по нажатию снова  
TrinketHidCombo.mouseMove(5,5,0); // Очень много раз около 40-50
delay(2); // Много однообразного кода
TrinketHidCombo.mouseMove(5,5,0); // Много однообразного кода
delay(6); // Много однообразного кода
TrinketHidCombo.mouseMove(5,5,0); // конец
    }
}

Извиняюсь если не внятно объясняю

#6 Програмування Arduino » Прошу помощи. Удержание кнопки. » 2020-02-08 08:04:46

VectorCrush
відповідей: 14

Доброго времени суток. Есть скетч, на 11й pin стоит кнопка.  Как сделать что бы пока я держу выполнялось, после отжатия кнопки переходило в начало. Мне не нужно сразу весь а только тогда когда я держу кнопку и каждый раз сначала. Помогите пожалуйста уже третий день сижу кучу библиотек перепробовал.

#include "GyverButton.h"
GButton myButt(11, HIGH_PULL, NORM_OPEN);

void setup() { 
myButt.setDebounce(10);
myButt.setTimeout(10);
myButt.setTickMode(AUTO);
}

void loop() {
if (myButt.isHolded(11)) {
delay(2); // Начало и нужно в любой момент завершить по отжатию и вернуться в начало без выполнения далее и начать выполнение по нажатию снова  
TrinketHidCombo.mouseMove(5,5,0); // Очень много раз около 40-50
delay(2); // Много однообразного кода
TrinketHidCombo.mouseMove(5,5,0); // Много однообразного кода
delay(6); // Много однообразного кода
TrinketHidCombo.mouseMove(5,5,0); // конец
    }
}

Підвал форуму