Ошибка кода?
- Войдите на сайт для отправки комментариев
Пт, 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 строки?
Ругалось.