Skocz do zawartości

Tablice w Arduino – #1 – szybki start


Pomocna odpowiedź

@farmaceuta, to ja nie wiem. Jeszcze dodam, że miałem paczkę dla płytek w wersji 1.8.3, zaktualizowałem teraz do 1.8.5. Stan ten sam - są ostrzeżenia. Z ciekawości nawet skasowałem konfigurację swojego IDE, by było świeższe niż świeże, choć i tak powinno było takie być. Wciąż są.

Panowie, a to mam jeszcze jeden temat do rozgryzienie - możecie mi powiedzieć bo ja się w tym temacie poddaje czemu w przypadku poniższego kodu pisanego bez tablic tylko zwykłe zmienne komunikat nie występuje, a w przypadku kodu co jest wklejony poniżej z tablicami występuje?

#define led 2
boolean sled = HIGH;
#define led1 4
boolean sled1 = HIGH;
unsigned long czas[] = {8};
unsigned long czas_t = 0;
float mn = 0.7;
unsigned long czas1[] = {czas[0]*mn};
unsigned long czas1_t = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(led1, OUTPUT);
Serial.begin(9600);
}

void loop() {
  digitalWrite(led, sled);
  if(millis() - czas_t > czas[0] * 1000UL){
  sled = !sled;
  unsigned long x = ((millis() - czas_t)/1000UL);
  Serial.println(millis());
  Serial.println(czas_t);
  Serial.println(x);
  czas_t = millis();
}
  digitalWrite(led1, sled1);
  if(millis() - czas1_t > czas1[0] * 1000UL){
  sled1 = !sled1;
  unsigned long y = ((millis() - czas1_t)/1000UL);
  Serial.println(millis());
  Serial.println(czas1_t);
  Serial.println(y);
  czas1_t = millis();
}
}

 

  • 1 rok później...
Dnia 15.06.2022 o 15:47, merinum napisał:

Panowie, a to mam jeszcze jeden temat do rozgryzienie - możecie mi powiedzieć bo ja się w tym temacie poddaje czemu w przypadku poniższego kodu pisanego bez tablic tylko zwykłe zmienne komunikat nie występuje, a w przypadku kodu co jest wklejony poniżej z tablicami występuje?

#define led 2
boolean sled = HIGH;
#define led1 4
boolean sled1 = HIGH;
unsigned long czas[] = {8};
unsigned long czas_t = 0;
float mn = 0.7;
unsigned long czas1[] = {czas[0]*mn};
unsigned long czas1_t = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(led1, OUTPUT);
Serial.begin(9600);
}

void loop() {
  digitalWrite(led, sled);
  if(millis() - czas_t > czas[0] * 1000UL){
  sled = !sled;
  unsigned long x = ((millis() - czas_t)/1000UL);
  Serial.println(millis());
  Serial.println(czas_t);
  Serial.println(x);
  czas_t = millis();
}
  digitalWrite(led1, sled1);
  if(millis() - czas1_t > czas1[0] * 1000UL){
  sled1 = !sled1;
  unsigned long y = ((millis() - czas1_t)/1000UL);
  Serial.println(millis());
  Serial.println(czas1_t);
  Serial.println(y);
  czas1_t = millis();
}
}

 

nie jestem pewien czy znalazłem problem ale jak na moje oko za dużo } w loop()

Przed chwilą, marcin_zgo napisał:

nie jestem pewien czy znalazłem problem ale jak na moje oko za dużo } w loop()

mam na myśli że w połowie loop() masz } i na końcu 2 }

Nawiasów jest akurat; po prostu tekst jest niestarannie sformatowany.

Na czym dokładnie polega problem?

Wgrałem ten program bez problemu do ESP32  - dioda mruga, coś tam się wypisuje na konsoli.....

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...