Помогите понять момент из скетча
- Войдите на сайт для отправки комментариев
Пт, 10/02/2017 - 15:25
byte y[13] = {B11111100, B01100000, B11011010, B11110010, B01100110, B10110110, B10111110, B11100000, B11111110, B11110110, B00000001, B00000000, B11111111}; byte z[13] = {B11111100, B00001100, B11011010, B11110010, B01100110, B10110110, B10111110, B11100000, B11111110, B11110110, B00000001, B00000000, B11111111}; void setup() { pinMode(switchPin, INPUT); pinMode(mosfetPin, OUTPUT); pinMode(ledPin, OUTPUT); pinMode(sensorPin, INPUT); for (int i = 6; i <= 13; i++) pinMode(i, OUTPUT); digitalWrite(ledPin, HIGH); segments(z[12]); delay(2000); digitalWrite(ledPin, LOW); segments(z[11]);
Добрый день, прошу помощи , вот кусок кода, код не мой, вроде все понятно, задаются числа и пины для индикатора, но не понятно про segments что это?, а Именно :
digitalWrite(ledPin, HIGH); segments(z[12]); delay(2000); digitalWrite(ledPin, LOW); segments(z[11]);
Кстати изза этого кусочка скетч компиляцию не проходит
полный код публикуй или самостоятельно смотри код функции segments
Оригинал Скетча
ну, и где ошибку выдаёт?
Перенесите строки 69-81 выше setup то есть на место 20 строки
ну, и где ошибку выдаёт?
Странно, хотел попробовать залить оригинал, перед тем как под себя Скетч редактировать, но он не прошел компиляцию, кстати этот проект в оригинале под Arduino nano, а у меня UNO R3 , возможно что в этом дело? хотя мне кажется разницы то нет
Перенесите строки 69-81 выше setup то есть на место 20 строки
Сделать то это просто, дома буду попробую, Спасибо
Но и хотелось бы понимать смысл зачем нужно перенести?
Но и хотелось бы понимать смысл зачем нужно перенести?
Функция должна быть описана ДО использования, а у Вас функция segments описана в строках 69-79, а используется в строке 33 (и далее). В некоторых версиях IDE такие фокусы проходят, в некоторых нет.
Если писать правильно, то работает всегда.
В некоторых версиях IDE такие фокусы проходят, в некоторых нет.
верно - я запретил.
ну, и где ошибку выдаёт?
Странно, хотел попробовать залить оригинал, перед тем как под себя Скетч редактировать, но он не прошел компиляцию, кстати этот проект в оригинале под Arduino nano, а у меня UNO R3 , возможно что в этом дело? хотя мне кажется разницы то нет
в версии 1.0.6 компилируется
ну, и где ошибку выдаёт?
Странно, хотел попробовать залить оригинал, перед тем как под себя Скетч редактировать, но он не прошел компиляцию, кстати этот проект в оригинале под Arduino nano, а у меня UNO R3 , возможно что в этом дело? хотя мне кажется разницы то нет
в версии 1.0.6 компилируется
как так?! - я же запгетил.
Лев запретил зверям в лесу пить. За нарушение приказа - смерть. День первый. Собрались звери на поляне для проверки. Все трезвые, один заяц слегка навеселе. Лев к нему:
- Ты почему выпил?!
- Э-э-э... Понимаете, сын у меня родился, грех не выпить...
- Ладно, прощаю.
День второй. Опять собрались звери на поляне. Все трезвые, один заяц стоит - шатается. Лев к нему:
- Ты опять пьяный??!
- Э-э-э... Понимаешь, сегодня у тёщи день рождения был... Ну выпили немного...
- Ну смотри, Заяц, если завтра опять напьёшься, я тебя съем!!!
День третий. Все звери на поляне, трезвые. Зайца нигде нет. Пошёл Лев его искать. Нет нигде. Вдруг видит из воды уши торчат. Лев хватает его за уши и вытягивает. Заец в нулину пьяный. Лев:
- Заец, я тебя вчера предупреждал?!!! Всё, сейчас я тебя съем!
- Ты, Лев, ик, для своих зверей приказ издал? Ик!.. А нас, рыбов, не трогай!
Но и хотелось бы понимать смысл зачем нужно перенести?
Функция должна быть описана ДО использования, а у Вас функция segments описана в строках 69-79, а используется в строке 33 (и далее). В некоторых версиях IDE такие фокусы проходят, в некоторых нет.
Если писать правильно, то работает всегда.
перенес, и не компилируется, другая ошибка
перенес, и не компилируется, другая ошибка
ок. ты меня успокоил - мой запрет действует. кретинам запрещено юзать дуино.
перенес, и не компилируется, другая ошибка
Вы напоминаете чукчу из анекдота про "трыста дацат адын малэнкий, кругленький, краснэнький".
Вам как человеку объяснили, чтобы Вы перенесли функцию segments выше того места, где она впервые используется.
Более того, Вам объяснили общее правило
Функция должна быть описана ДО использовани
И теперь, (о ужас!!!!) оказалось. что функция read_pulse_time тоже используется до определения!!!! Это ж кошмар! Надо срочно спрашивать у сообщества что делать!
Вам самому не смешно?
Переносите, а если ещё какая окажется, то запомните, наконец, любая функция должна быть определена до использования. Любая!
Переносите,
я запретил!
Скоро народ будет недоумевать,почему скетч сейчас не работает, который они напишут потом в будущем. Ведь если в будущем он написан, то и должен работать сейчас.
перенес, и не компилируется, другая ошибка
Вы напоминаете чукчу из анекдота про "трыста дацат адын малэнкий, кругленький, краснэнький".
Вам как человеку объяснили, чтобы Вы перенесли функцию segments выше того места, где она впервые используется.
Более того, Вам объяснили общее правило
Функция должна быть описана ДО использовани
И теперь, (о ужас!!!!) оказалось. что функция read_pulse_time тоже используется до определения!!!! Это ж кошмар! Надо срочно спрашивать у сообщества что делать!
Вам самому не смешно?
Переносите, а если ещё какая окажется, то запомните, наконец, любая функция должна быть определена до использования. Любая!
Я разобрался, спасибо, все работает
А так? )))
А не подскажите как изменить шаг регулировки, сейчас 1мс, а хотелось бы 100мс, тоесть сейчас на индикаторе цифра 5 а импульс 5мс, а хотелось бы, на индикаторе цифра 3 а импульс 300 мс
да так и перенес
А не подскажите как изменить шаг регулировки, сейчас 1мс, а хотелось бы 100мс, тоесть сейчас на индикаторе цифра 5 а импульс 5мс, а хотелось бы, на индикаторе цифра 3 а импульс 300 мс
я так понгимаю править надо здесь:
А не подскажите как изменить шаг регулировки, сейчас 1мс, а хотелось бы 100мс, тоесть сейчас на индикаторе цифра 5 а импульс 5мс, а хотелось бы, на индикаторе цифра 3 а импульс 300 мс
Делите на 100
А не подскажите как изменить шаг регулировки, сейчас 1мс, а хотелось бы 100мс, тоесть сейчас на индикаторе цифра 5 а импульс 5мс, а хотелось бы, на индикаторе цифра 3 а импульс 300 мс
а не умножать разве?
Интересно нсли разделить на 0.01 комптлятор попоравит или будет во float переводить?
Спасибо всем что пнули в нужном направление, устройство собрал, все отлично и код переделал под себя, изменил время импулься, и убрал двойной импульс, таже в коде
заменил 0 на 1 и 1 на 0, так как на индикаторе у меня общий плюс оказался
и в четвертой строке ошибка под УНО
Хотелось бы схему и код переделать под два индикатора, пока курю статьи, но ничего не выходит.
Функция должна быть описана ДО использовани
И теперь, (о ужас!!!!) оказалось. что функция read_pulse_time тоже используется до определения!!!! Это ж кошмар! Надо срочно спрашивать у сообщества что делать!
Вам самому не смешно?
Переносите, а если ещё какая окажется, то запомните, наконец, любая функция должна быть определена до использования. Любая!
а вот здесь не должна? Бросьте вы уже упиваться верой в свою непогрешимость.
скетч компилируется и в железе работает
скетч компилируется и в железе работает
я же запретил?!
да ..я помню.. А когда вы уже начнете разрешать?)
да ..я помню.. А когда вы уже начнете разрешать?)
мы Клапауций ХХХ - никогда
а вот здесь не должна?
скетч компилируется и в железе работает
Должна. Вы посмотрите во временных файлах IDE, файл с названием как у Вашего скетча и расширением ".cpp". Увидите, что IDE просто добавило предварителное описание функции в начало текста, так что она оказалась объявленной до использования.
Некоторые версии IDE это делают, другие - не делают. Поэтому бывает, что "у одного работает, а у другого - нет" или "вроде работает, а потом перестаёт". Вот тут-то и начинаются заявления "не неси чушь, вчера (или "вон у того мужика") всё работало!".
На самом деле, правило про предварительное объявление - это правило языка. Оно железное. Если его соблюдать, то работает всегда. А если плевать на него, то работает только в тех версиях IDE, где о его (правила) соблюдении позаботились разработчики IDE. Как раз типа того примера, который Вы привели.
Должна. Вы посмотрите во временных файлах IDE, файл с названием как у Вашего скетча и расширением ".cpp". Увидите, что IDE просто добавило предварителное описание функции в начало текста, так что она оказалась объявленной до использования.
Некоторые версии IDE это делают, другие - не делают. Поэтому бывает, что "у одного работает, а у другого - нет" или "вроде работает, а потом перестаёт". Вот тут-то и начинаются заявления "не неси чушь, вчера (или "вон у того мужика") всё работало!".
На самом деле, правило про предварительное объявление - это правило языка. Оно железное. Если его соблюдать, то работает всегда. А если плевать на него, то работает только в тех версиях IDE, где о его (правила) соблюдении позаботились разработчики IDE. Как раз типа того примера, который Вы привели.
я один наблюдаю процесс дискредитации педагогики, как науки на Руси?
*как можно умудриться в дюжине строк напороть столько взаимоисключающих утверждений и надеяться, что подаван останется в дравом уме и трезвой памяти?
---------------------------------------------
arduino-1.8.1 *.cpp
----------------------------
arduino-1.0.6 *.cpp
===================
в какой из версий должно неработать, когда перестанет работать и зачем туда смотреть?
в какой из версий должно неработать, когда перестанет работать и зачем туда смотреть?
Мне казалось, что я Вам давно объяснил, что Вам я консультаций не даю. Зачем вопросы задавать?
По логике, формат принимается в соответствии с форматом получающей значение переменной
---------------------------------------------
arduino-1.8.1 *.cpp
===================
в какой из версий должно неработать, когда перестанет работать и зачем туда смотреть?
Вы чего фуфло-то подсунули?
Вам ясно сказали
файл с названием как у Вашего скетча и расширением ".cpp".
Так нахрена Вы пихаете ctags_target_for_gcc_minus_e.cpp ?
В подпапке sketch лежи тот самый файл с правильным названием (в моём случае proba.ino.cpp) и выглядит он вот так
Строки 5, 7 и 9 видите? Вот про них Вам и говорили.
А теперь, пожалуйста, ясно, внятно, чтобы все слышали - кто здесь кретин?
Вы чего фуфло-то подсунули?
А теперь, пожалуйста, ясно, внятно, чтобы все слышали - кто здесь кретин?
ок. признаю, промахнулся с файлом.
но, что это доказывает, что это правило С++ или что часть версий Дуино ИДЕ бажная, или эта версия так же бажная и баг лечится, указанным тобой костылём?
если это правило С++, то нужно указывать ссылку первоисточник правил С++, а не на то, что генерит Дуино ИДЕ - там может быть всё, что угодно, т.к. нет никаких гарантий, что и эта версия Дуино ИДЕ бажная и баги лечатся костылями, а не исправляются первопричины.
*не нужно мне доказывать, что у тебя не сломаное логическое мышление - ты неоднократно доказываешь это.
меня же можно обвинить в невнимательности - не более. сути моих претензий к пидагогу-мосгоепу не меняет.
если это правило С++, то нужно указывать ссылку первоисточник правил С++,
Кому нужно? Мне не нужно, я эти "правила" и так знаю. Вам нужно? Вы меня об этом хоть раз вежливо попросили? Дать Вам ссылку на такого рода документацию?
Значит, так, дорогой, я Вам уже говорил, Вас я готов консультировать только на коммерческой основе. Задавайте вопросы и оплачивайте время которое я на Вас потрачу. Не хотите - ищите свои правила сами.
Кому нужно? Мне не нужно, я эти "правила" и так знаю. Вам нужно?
да никому не нужно - я с самого начала тебе это сказал
дыбил, это был риторический вопрос и демонстрация твоего кретинизма - если ты решил нарыть бажную версию Дуино ИДЕ и таскать ея труп по форуму, как демонстрацию непонятно чего, то кото тебе доктор? твои ракеты отречены падать в Туву.
крылатые точно не должны, там софт еще Тихонов-Козлов писали, если не изменяет память на 1000км в пятак попадали, а движок, он жеж двухконтурный, его гений Люлька придумал )))
крылатые точно не должны, там софт еще Тихонов-Козлов писали, если не изменяет память на 1000км в пятак попадали, а движок, он жеж двухконтурный, его гений Люлька придумал )))
дыбилам поясняю - гражданские космолёты должны продолжать падать вам на голову.