Ошибка кода?

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

Помогите!!!

Я хочу написать библиотеку для шилда (там где 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'
 
Если здесь есть добрые люди то помогите мне!!
SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

SAn4Es_TV пишет:

		Led_Shield(int s);

s -- это начальное состояние светодиодов.

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

SAn4Es_TV пишет:

		Led_Shield(int s);

s -- это начальное состояние светодиодов.

sadman41
Offline
Зарегистрирован: 19.10.2016

Пересчитайте точки с запятыми в объявлении класса. Одной не хватает, похоже.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Вапрос на засыпку.

С каких хренов в прево коде, в строке

#include "Arduino.h"

используются " ", а в третьем коде, в строке 

#include <Led_Shield.h>

используются < >

Только рабди Бога, не начинай методом тыка подбирать, а разберись где, что и почему нужно использовать.

И второй вопрос: а что после объявлени класса точку с запятой уже не обязательно ставить? римский Папа такой эдикт выпустил?

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

Ворота пишет:

С каких хренов в прево коде, в строке

#include "Arduino.h"

используются " ", а в третьем коде, в строке 

#include <Led_Shield.h>

используются < >

А в чём разница?

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

SAn4Es_TV пишет:
А в чём разница?

Так я ж тебе сказал

Ворота пишет:
разберись

Почитай литературу и разберись. То, что написал я тебе об этом и ты узнал, что разница есть - это и есть помощь тебе. А уж книжки сам читай. Никто за тебя учиться не будет.

Твоя библиотека только из-за этого может не работать, даже если всё остальное правильно.

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

Всё!!!
Работает!!
В классе ; пропущена.
И где-то в срр ; пропущена.

Feofan
Offline
Зарегистрирован: 28.05.2017

В *.cpp не ругается на 12 и 16 строки?

 

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

Ругалось.