Вопрос чисто по программированию! Компилятор ведет себя странно! БЕЗ 100 граммов не разобраться
- Войдите на сайт для отправки комментариев
Пнд, 20/02/2017 - 22:43
Подключаю шаговик к ардуино:
Все работает, мотор крутится - все логично!
Меняю на 39 строчке знак на "минус" - мотор крутится в обратную сторону - все логично!
Изменю код, подключаю второй мотор - оба крутятся - все логично!
int pins2[] = {4, 5, 6, 7}; //Задаем пины по порядку
int pins[] = {8, 9, 10, 11}; //Задаем пины по порядку

Тут начинается самое интересное, меняю s=-1; все остальное не трогаю - первый мотор крутится обратно, второй нормально, меняю s=1, а s2=-1 первый крутится, второй стоит, ставлю в оба минус -1 - не один не крутиться.

Причем в случае s=1, s2=-1 (первый крутится, второй стоит) меняю эти две строчки местами, т.е.
int s2=-1;
int s=1;
второй мотор крутится в обратку!!!!!! и первый крутится.
второй мотор крутится в обратку!!!!!! и первый крутится.
Помоги понять в чем прикол? Как так, из-за того что объявление переменных помено местами - программа ведет себя по разному!
Немного код переделал, уже не понимая из-за чего такая фигня происходит, написал вместо += полную версию оператора, step_ поменл на переменную s.
вы бы вставили коды по правилам форума (вверху в редакторе значек соответствующий)
БЕЗ 100 граммов не разобраться
А проблема-то в чём? Вы несовершеннолентий? Или магазин уже закрылся?
Тут начинается самое интересное, меняю s=-1; все остальное не трогаю - первый мотор крутится обратно, второй нормально, меняю s=1, а s2=-1 первый крутится, второй стоит, ставлю в оба -1 - не один не крутится.
второй мотор крутится в обратку!!!!!! и первый крутится.
Помоги понять в чем прикол? Как так, из-за того что объявление переменных поменяно местами - программа ведет себя по разному!
Если изменить код в коде += на -= тоже все работает.
Совершеннолетний, магазин закрылся))) Но вопрос не в 100 граммах, а то, что это не лезет в обычную логику программирования.
исправился - код по правилам в комментах)
Это ардуино, и воможно int беззнаковое и никто не знает что такое <0, поставь четко signed int
Это ардуино, и воможно int беззнаковое и никто не знает что такое <0, поставь четко signed int
не помогло
Это ардуино, и воможно int беззнаковое и никто не знает что такое <0, поставь четко signed int
Без второго мотора ведь работает, и со вторым мотором, когда первый -1, второй 1 - тоже работает, стоит 1 и -1 поставить или оба -1 - уже не работает, достаточно поменять строки объвления переменных - уже не работает.
Принял 100гр, всеравно не понял, добавил контрольных еще аналогичное кол-во. Ясности не добавилось. Вывод - 100гр не помогают, надо разбиратся.
100гр не помогают
Это уже серьёзно!
Это ардуино, и воможно int беззнаковое и никто не знает что такое <0, поставь четко signed int
не помогло
...и я пошёл попил поел - не полегчало... )))
Странные вы какие-то...
Я вот пообедал - и вполне доволен собой.
Чего и вам желаю.
Прочитал все посты темы и не понял при чём здесь компилятор? В чем его странность? Компилирует, ошибок не выдает. 100 грамм не просит. Просто чисто интересно, а если присвоение начального значения из объявления вынести в setup что будет?
Я склоняюсь, что на этом форуме собрались одни любители бахуса!?
на этом форуме собрались одни любители бахуса!?
Почему одни любители? Есть и профессионалы, жрецы можно сказать.
на этом форуме собрались одни любители бахуса!?
Почему одни любители? Есть и профессионалы, жрецы можно сказать.
Откройте секрет, кто это ???
wdrakula, конечно! Почитайте какой любовью проникнуты его посты про самогон!
на этом форуме собрались одни любители бахуса!?
Почему одни любители? Есть и профессионалы, жрецы можно сказать.
Откройте секрет, кто это ???
Так и тема ж есть соответствующая ;) http://arduino.ru/forum/otvlechennye-temy/v-pomoshch-samogonshchiku