Ошибка кода?
- Войдите на сайт для отправки комментариев
Пт, 24/05/2019 - 17:59
Помогите!!!
Я хочу написать библиотеку для шилда (там где 20 светодиодов).
вот .Н файл :
#ifndef LED_SHIELD_H #define LED_SHIELD_H #include "Arduino.h" class Led_Shield { public: Led_Shield(int s); void DigitalWrite(int pin, int state); void AnalogWrite(int pin, int state); } #endif
Вот .срр файл :
#include "Led_Shield.h" Led_Shield::Led_Shield(int s){ int _pins[20] = {0, 1,2,3,4,5,6,7,8,9,10,11,12,13,A0,A1,A2,A3,A4,A5}; for(int i = 0;i > 19;i++){ pinMode(_pins[i], OUTPUT); digitalWrite(_pins[i], s) } } void Led_Shield::DigitalWrite(int pin, int state){ digitalWrite(_pin[pin], state); } void Led_Shield::AnalogWrite(int pin, int state){ analogWrite(_pin[pin], state); }
А вот код:
#include <Led_Shield.h> Led_Shield led(0); void setup() { // put your setup code here, to run once: } void loop() { led.DigitalWrite(2,1); }
Вот и проблема:
sketch_may23a:3:12: error: expected initializer before 'led'
C:\Users\РђРґРјРёРЅ\Documents\Arduino\sketch_may23a\sketch_may23a.ino: In function 'void loop()':
sketch_may23a:11:3: error: 'led' was not declared in this scope
exit status 1
expected initializer before 'led'
Если здесь есть добрые люди то помогите мне!!
s -- это начальное состояние светодиодов.
s -- это начальное состояние светодиодов.
Пересчитайте точки с запятыми в объявлении класса. Одной не хватает, похоже.
Вапрос на засыпку.
С каких хренов в прево коде, в строке
#include "Arduino.h"
используются " ", а в третьем коде, в строке
#include <Led_Shield.h>
используются < >
Только рабди Бога, не начинай методом тыка подбирать, а разберись где, что и почему нужно использовать.
И второй вопрос: а что после объявлени класса точку с запятой уже не обязательно ставить? римский Папа такой эдикт выпустил?
С каких хренов в прево коде, в строке
#include "Arduino.h"
используются " ", а в третьем коде, в строке
#include <Led_Shield.h>
используются < >
А в чём разница?
Так я ж тебе сказал
Почитай литературу и разберись. То, что написал я тебе об этом и ты узнал, что разница есть - это и есть помощь тебе. А уж книжки сам читай. Никто за тебя учиться не будет.
Твоя библиотека только из-за этого может не работать, даже если всё остальное правильно.
Всё!!!
Работает!!
В классе ; пропущена.
И где-то в срр ; пропущена.
В *.cpp не ругается на 12 и 16 строки?
Ругалось.