помогите со скобками
- Войдите на сайт для отправки комментариев
Сб, 27/08/2016 - 13:58
Всем привет!
после скрещивания двух кодов получился вот такой код
#define REMOTEXY_MODE__HC05_HARDSERIAL #include <RemoteXY.h> /* настройки соединения */ #define REMOTEXY_SERIAL Serial #define REMOTEXY_SERIAL_SPEED 9600 /* конфигурация интерфейса */ unsigned char RemoteXY_CONF[] = { 4,11,61,0,6,5,2,6,0,0 ,0,63,63,1,0,61,61,2,1,1 ,78,25,12,12,26,67,12,12,2,82 ,0,67,0,70,41,27,7,24,86,20 ,5,3,11,130,1,21,53,20,20,22 ,63,20,20,9,130,1,74,21,20,20 ,53,20,20,20,9 }; /* структура определяет все переменные вашего интерфейса управления */ struct { /* input variable */ unsigned char rgb_1_r; /* =0..255 значение Красного цвета */ unsigned char rgb_1_g; /* =0..255 значение Зеленого цвета */ unsigned char rgb_1_b; /* =0..255 значение Синего цвета */ unsigned char button_1; /* =1 если кнопка нажата, иначе =0 */ /* output variable */ char text_1[11]; /* =строка оканчивающаяся нулем UNICODE */ /* other variable */ unsigned char connect_flag; /* =1 if wire connected, else =0 */ } RemoteXY; ///////////////////////////////////////////// // END RemoteXY include // ///////////////////////////////////////////// #define PIN_BUTTON_1 13 int regim=1; int flag=0; #include "FastLED.h" #define DATA_PIN 3 #define NUM_LEDS 45 #define LED_TYPE WS2811 #define COLOR_ORDER GRB #define BRIGHTNESS 96 #define FRAMES_PER_SECOND 120 CRGB leds[NUM_LEDS]; #define pot1 A0 #define pot2 A1 #define pot3 A2 void setup() { RemoteXY_Init (); pinMode (PIN_BUTTON_1, OUTPUT); delay(2000); FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS); pinMode(10,INPUT); // пин с потенциометром - вход pinMode(pot1, INPUT); pinMode(pot2, INPUT); pinMode(pot3, INPUT); FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip); //FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip); // set master brightness control FastLED.setBrightness(BRIGHTNESS); // TODO you setup code } typedef void (*SimplePatternList[])(); SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm }; uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current uint8_t gHue = 0; // rotating "base color" used by many of the patterns void loop() { // Call the current pattern function once, updating the 'leds' array RemoteXY_Handler (); digitalWrite(PIN_BUTTON_1, (RemoteXY.button_1==0)?LOW:HIGH); int X; int Y; int Z; // TODO you loop code // используйте структуру RemoteXY для передачи данных if(digitalRead(A4)==HIGH||(PIN_BUTTON_1)==HIGH&&flag==0)//если кнопка нажата // и перемення flag равна 0 , то ... { regim++; flag=1; //это нужно для того что бы с каждым нажатием кнопки //происходило только одно действие // плюс защита от "дребезга" 100% if(regim>4)//ограничим количество режимов { regim=1;//так как мы используем только одну кнопку, // то переключать режимы будем циклично } } if(digitalRead(A4)==LOW||(PIN_BUTTON_1)==LOW&&flag==1)//если кнопка НЕ нажата //и переменная flag равна - 1 ,то ... { flag=0;//обнуляем переменную "knopka" } if(regim==1)//первый режим { X = (analogRead(pot1) / 4) ; Y = (analogRead(pot2) / 4); Z = (analogRead(pot3) / 4) ; // выдаём результат на светодиод for (int i = 0; i < NUM_LEDS; i++) leds[i] = CRGB(X,Y,Z); FastLED.show(); /* текущее состояние C */ //здесь может быть любое ваше действие } if(regim==2)//второй режим { X= RemoteXY.rgb_1_r; Y= RemoteXY.rgb_1_g; Z= RemoteXY.rgb_1_b; // TODO you loop code for (int i = 0; i < NUM_LEDS; i++) leds[i] = CRGB(X,Y,Z); FastLED.show(); // используйте структуру RemoteXY для передачи данных delay(1); //здесь может быть любое ваше действие } if(regim==3)//третий режим { //здесь может быть любое ваше действие } if(regim==4)//четвертый режим { for (int i = 0; i < NUM_LEDS; i++) leds[i] = CRGB(0,255,0); FastLED.show(); // используйте структуру RemoteXY для передачи данных delay(1); //здесь может быть любое ваше действие } } }
но компилятор ругается на скобки,
Arduino: 1.6.6 (Windows 7), Плата:"Arduino Nano, ATmega328" WARNING: Spurious .github folder in 'Adafruit NeoPixel' library In file included from C:\Users\Pavel\AppData\Local\Temp\arduino_6a661097979fe2d54851b6345b892d09\sketch_aug27a.ino:45:0: C:\Users\Pavel\Documents\Arduino\libraries\FastLED-master/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.001 # pragma message "FastLED version 3.001.001" ^ sketch_aug27a:84: error: 'rainbow' was not declared in this scope SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm }; ^ sketch_aug27a:84: error: 'rainbowWithGlitter' was not declared in this scope SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm }; ^ sketch_aug27a:84: error: 'confetti' was not declared in this scope SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm }; ^ sketch_aug27a:84: error: 'sinelon' was not declared in this scope SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm }; ^ sketch_aug27a:84: error: 'juggle' was not declared in this scope SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm }; ^ sketch_aug27a:84: error: 'bpm' was not declared in this scope SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm }; ^ C:\Users\Pavel\AppData\Local\Temp\arduino_6a661097979fe2d54851b6345b892d09\sketch_aug27a.ino: In function 'void loop()': sketch_aug27a:169: error: 'nextPattern' was not declared in this scope EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically ^ sketch_aug27a:175: error: a function-definition is not allowed here before '{' token { ^ sketch_aug27a:181: error: a function-definition is not allowed here before '{' token { ^ sketch_aug27a:187: error: a function-definition is not allowed here before '{' token { ^ sketch_aug27a:194: error: a function-definition is not allowed here before '{' token { ^ sketch_aug27a:249: error: expected '}' at end of input } ^ sketch_aug27a:249: error: expected '}' at end of input sketch_aug27a:249: error: expected '}' at end of input Несколько библиотек найдено для "RemoteXY.h" Используется: C:\Users\Pavel\Documents\Arduino\libraries\RemoteXY Не используется: C:\Program Files (x86)\Arduino\libraries\RemoteXY exit status 1 'rainbow' was not declared in this scope
помогите пожалуйста решить эту проблему, зарание благодарю за ответ.
помогите пожалуйста решить эту проблему, зарание благодарю за ответ.
А Яндекс.Толмач русским говорит на:
sketch_aug27a:249 ошибка: ожидается '}' в конце ввода
^№ строки в которой ошибка.
Значит IDE увидел "закрывающую скобку" не там, где ожидал ее.
Подгони курсор на эту скобку и редактор тебе покажет где ее "парная открывающая".
вот блин, только заметил, что код не до конца скопировался(
попытался убрирать и добавлять скобки, ошибка остаётся(
попытался убрирать и добавлять скобки, ошибка остаётся(
а, читать лог ты пытался?
как думаешь, что может значить например это сообщение об ошибке?
error:
'rainbow'
was not declared
in
this
scope
он так о всех VOID пишет, немного с другим кодом была та же ошибка, оказалось только одно лишняя скобка, а здесь я не знаю в чём причина, вот и прошу помочь мне
он так о всех VOID пишет, немного с другим кодом была та же ошибка, оказалось только одно лишняя скобка, а здесь я не знаю в чём причина, вот и прошу помочь мне
ты будешь продолжать пререкаться или переменные объявлять?
а можно немного поподробнее, какие именно переменные я не так объявил?
а можно немного поподробнее, какие именно переменные я не так объявил?
ты слепой?
12
sketch_aug27a:84: error:
'rainbow'
was not declared
in
this
scope
18
sketch_aug27a:84: error:
'rainbowWithGlitter'
was not declared
in
this
scope
24
sketch_aug27a:84: error:
'confetti'
was not declared
in
this
scope
30
sketch_aug27a:84: error:
'sinelon'
was not declared
in
this
scope
36
sketch_aug27a:84: error:
'juggle'
was not declared
in
this
scope
42
sketch_aug27a:84: error:
'bpm'
was not declared
in
this
scope
50
sketch_aug27a:169: error:
'nextPattern'
was not declared
in
this
scope
да это я вижу, но так и не понял почему он выдаёт ошибку
вот брал отсюда все void
попытался всё перенести, но компилятор ругается, а я не знаю, что сделать, чтобы исправить, да вы мне сказали, что нужно посмотреть на эти ошибки, но я всё перепроверил, и void, и скобки вроде везде подходят, поэтому я сейчас без понятия, что делать
Присвоение значения переменной без ее декларации вызовет следующее сообщение: error: pin was not declared in this scope".
так, и где мне нужно задекларировать все void ?
и как сделать эти переменные глобальными?
блин, что ты так бомбишь, я только разбираюсь в этом
блин, что ты так бомбишь, я только разбираюсь в этом
ну, и с чего ты начал?
вместо того, что бы самому написать простой ксетч и помигать двумя светодиодами, например одним два раза при включении, а вторым при нажатии кнопки 3 раза. ты насобирал непонятного тебе и собрался лететь в космос, но незадача - грёбаные скобки и в упор нечитаемый лог.
имеется ввиду, void и т.д.
светодиодами я уже наигрался
светодиодами я уже наигрался
ок. давай скетч
помигать двумя светодиодами, например одним два раза при включении, а вторым при нажатии кнопки 3 раза.
и поймём, игрался ты или учился.
просто делаю проект, всё спаял, склеил, всё работает, захотел добавить переливающийся режим, и вот до чего дошло
просто делаю проект, всё спаял, склеил, всё работает, захотел добавить переливающийся режим, и вот до чего дошло
дошло до того, что с аппаратной частью ты справился, а с программированием - дуб.
пиши скетч - поймёшь сразу, где ты тупишь.
90
Несколько библиотек найдено для "RemoteXY.h"
91
Используется: C:\Users\Pavel\Documents\Arduino\libraries\RemoteXY
92
Не используется: C:\Program Files (x86)\Arduino\libraries\RemoteXY
93
exit status 1
RemoteXY.h
RemoteXY.h - это и есть главная ошибка :-) Сырой проект с кучей ошибок.
Для того чтобы разобраться в их косяках надо понимать как все работает, а поймешь сам напишешь хороший код.
Клапауций 232 правильно тебе сказал, начинай с простого, с чужим говонокодом еще успеешь намучаться.