проблема с кодом
- Войдите на сайт для отправки комментариев
Сб, 01/08/2015 - 19:46
Всем привет у меня проблема я написал код все провверил подключил провода а неработает! вот скетч int led = 13;
int DigitalPin=50;
void setup()
{
if (DigitalPin ==50,HIGH);
pinMode(led,OUTPUT);
}
void loop()
{
pinMode(led,LOW);
if (DigitalPin ==50,HIGH);
pinMode(led,HIGH);
}
Программа работает так, как ее написал программист. Но совсем не так, как он хотел ее написать.
С моей точки зрения, это не должно н только работать, но даже компилироваться.
Вот это вот комплируется? o_0
pinMode(led,LOW); ????????????????
Попробуёте использовать грамматику языка.......
http://arduino.ru/Reference/PinMode
http://arduino.ru/Reference/DigitalWrite
pinMode(led,LOW); ????????????????
Попробуёте использовать грамматику языка.......
http://arduino.ru/Reference/PinMode
http://arduino.ru/Reference/DigitalWrite
если грамматику заменить пивом, то оно работает #1255
Вот это вот комплируется? o_0
Меня вот это смущает:
Меня вот это смущает:
op1, op2, ..., opN;
Операции op1, op2, ...opN выполняются последовательно слева направо. Результатом всей операции будет результат самой правой (последней вычисленной) операции, т.е. opN.
В случае приведённого кода, будет выполнено сравнение DigitalPin==50, результат будет выброшен в мусорку, затем выполнится операция HIGH (это константа и результатом будет она же). Результат всей опреации "DigitalPin==50, HIGH" в целом - всегда HIGH. Т.е. данный IF можно смело заменять на if (HIGH) или просто выбрасывать. т.к. он всегда будет истинным.
Смысла негусто, но, с точки зрения компилятора, никаких проблем нет.
Я правильно понимаю, что туда можно запихнуть блок кода и в конце выплёвывать некоторое условие?
Хотя по идее праввильнее и читабельнее всё делать до if.
Не знаю правильно Вы понимаете или нет.
Почитайте что-нибудь, прежде, чем писать программы. Не готовые примеры, которых Вы не понимаете, а нормальную книжку по программированию. То, что у Вас здесь написано ... не знаю - набор букв - одна сплошная ошибка.
Ну извини, если я своими невежеством задел твою тонкую душевную организацию. Пойду голову пеплом посыплю.
pinMode(led,LOW); ????????????????
Попробуёте использовать грамматику языка.......
http://arduino.ru/Reference/PinMode
http://arduino.ru/Reference/DigitalWrite
если грамматику заменить пивом, то оно работает #1255
#define HIGH 0x1
#define LOW 0x0
#define INPUT 0x0
#define OUTPUT 0x1
#define true 0x1
#define false 0x0
Ура !!!! Наконец-то Клапауций 999 разрешил всем писать так:
pinMode ( OUTPUT, HIGH );
digitalWrite ( HIGH , OUTPUT );
Но я так не буду, простите меня.....
Ну извини, если я своими невежеством задел твою тонкую душевную организацию. Пойду голову пеплом посыплю.
Я правильно понимаю, что туда можно запихнуть блок кода и в конце выплёвывать некоторое условие?
Хотя по идее праввильнее и читабельнее всё делать до if.
Диагноз по аватарке, ок.
Диагноз по аватарке, ок.
А то, что сказал ту фразу ТС - Вы со мною не согласны? Глядя на его код?
Ну, зачем? Я же извинился и объяснил почему так вышло.
А то, что сказал ту фразу ТС - Вы со мною не согласны? Глядя на его код?
Это самый КРУТОЙ код, который я видел за все недолгое время знакомства с дуинкой)). Кстати, удивлен, что пухлявого тут еще нет))).