Kde mám chybu - switch

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Kde mám chybu - switch

Příspěvek od pavel1tu » 19 led 2020, 18:58

HW ?
Mně to funguje jak UNO,NANO, Mikro a DUE, ale pozměnil jsem to, nepoužívám IDE

Kód: Vybrat vše

unsigned long a = (18 * 60 * 32);

void setup() {
  Serial.begin(9600);  
}

void loop() {
  // put your main code here, to run repeatedly:
Serial.println(a);
delay (5000);
}
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

tosik
Příspěvky: 90
Registrován: 11 led 2020, 14:48
Reputation: 0

Re: Kde mám chybu - switch

Příspěvek od tosik » 19 led 2020, 19:08

Já začínám, mám to na Mega 2560, zkoušel jsem i ten kód odsud, ale výsledek stejný. Že by to dělala sériová linka? Zatím nemám displej, tak nemám jak to jinak zobrazit... Ono by to mělo fungovat, ten rozsah pro long je dost velký...
Co používáte místo IDE?

tosik
Příspěvky: 90
Registrován: 11 led 2020, 14:48
Reputation: 0

Re: Kde mám chybu - switch

Příspěvek od tosik » 19 led 2020, 19:27

Zkusil jsem ještě i tohle:

long a = (long)(18 * 60 * 32);
int b = a - 4560;

Vyleze z toho 30000, což je správně, takže to vypadá, že počítá to správně, ale sériová linka to nějak zblbne, jako by neuměla zpracovat číslo větší než integer…. Je to možné?

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: Kde mám chybu - switch

Příspěvek od AstroMiK » 19 led 2020, 19:41

Kód: Vybrat vše

  unsigned long a = (18 * 60 * 31UL);
  Serial.println(a);
výsledek: 33480


Povídání tady v posledním odstavci:
https://www.arduino.cc/reference/tr/lan ... constants/

tosik
Příspěvky: 90
Registrován: 11 led 2020, 14:48
Reputation: 0

Re: Kde mám chybu - switch

Příspěvek od tosik » 19 led 2020, 19:56

Jo, tohle funguje. No na tohle bych nepřišel. Díky moc.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Bing [Bot] a 13 hostů