Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   571 / 851
(#) asrock válasza tbarath hozzászólására (») Dec 6, 2019 /
 
Te is elmész orvoshoz ha beteg vagy!
Pedig az anatómiai könyvet tudod te is olvasni de etöl nem fogsz meggyulladozni!
Remélem ez jó hasonlat!
Matek nem megy ez van!
(#) tbarath válasza asrock hozzászólására (») Dec 6, 2019 /
 
Ez a hasonlat csapnivalóan rossz, tökéletesen értelmetlen, de nézzük a jó oldalát: legalább minden mondat végére került egy felkiáltójel. Így már értem, hogy miért tetted fel a "Valaki tudja bool string rész mért nem teljesülhet?" kérdést egy értékadásra.
Vagyis hát teljesen így se értem, de legalább már látom, hogy az csak a kisebbik baj, hogy az alapfogalmakkal sem vagy tisztában. Én ebből kiszálltam, "csendben ignoréra tettelek".
(#) vargham válasza asrock hozzászólására (») Dec 6, 2019 / 1
 
Azért a programozáshoz nem kell matek. Inkább logika. Csak egy szűk programozói réteg foglakozik matematikával. Ők a programozó matematikusok, és a különféle problémák matematikai leírásával, és algoritmizálásával foglalkoznak.
Ez itt egy önsegélyező programozó fórum, ahol segítséget kaphatsz a tanulás során. Ha te nem akarsz megtanulni programozni, akkor keress olyan helyet, ahol fizetsz, és megcsinálja valaki helyetted.
(#) asrock hozzászólása Dec 6, 2019 /
 
Egy kérdés volt ugy látszik nagyon nehéz!
(#) proba válasza asrock hozzászólására (») Dec 6, 2019 /
 
Vagy csak nem érted a választ, ami nem csak annyiból állt, hogy vegyél leckéket, hanem a programod egy hibás részét is biztosan leírta. Ha valami igaz/hamisként kezd (boolean) akkor az a számítástechnikában nem lehet 1234 értékű. ha ezt mégis megemésztené a fordító, azzal végképp nem tud mit kezdeni, mikor függvényként kezeled. ( updatePass ) Egy változót illik a teljes programon belül egyformán kezelni. ( Amúgy egy nagyon segítőkész, tapasztalt emberrel akadtál össze, bánhatod, hogy nem figyeltél rá.)
(#) asrock válasza proba hozzászólására (») Dec 6, 2019 /
 
Nehezen értem amit írnak mert 2 nyelv közt kell megérteni a megfelelő helyetesitést ami nem egyszerű ...nem vagyok magyar 60..70 értem irásnak beszéd könyebb pedig!
(#) Taki33 válasza asrock hozzászólására (») Dec 6, 2019 /
 
Csak neked csak most!

Olvasd el!
(#) asrock válasza proba hozzászólására (») Dec 6, 2019 /
 
Részben ez az eredeti kód amiből kivetem az infra rész!
Amit logikát látok benne!
updatePass("0");
.....
updatePass("9");

Ezt a részt fixen adtam csak meg String updatePass="1234";



  1. #include <IRremote.h>
  2.  
  3. /*Edit these settings*/
  4. //Password and security
  5. String pass = "1234"; //Password to unlock. be sure to edit the '5' inside '[]' to password length +1.
  6. int chances = 3; //Chances before buzzer will start to buzz continuously.
  7. bool afterChances = true; /*Is possible to enter password after
  8.   running out of chances. true = yes. (not recommended to set
  9.   false, Arduino must be restarted to enter password if set
  10.   to false.).If set true, buzzer will stop when correct password is
  11.   entered after running out of chances.*/
  12.  
  13.  
  14. //Pins
  15. int RECV_PIN = 11; //IR Reciever pin (PWM).
  16. int greenLed = 7; //Green LED pin.
  17. int redLed = 8; //Red Led pin.
  18. int buzzer = 4; //Buzzer pin.
  19.  
  20. //remote buttons
  21. String btn1 = ""; //Your button 1 IR HEX code (in lower case). eg.: ff63ad
  22. String btn2 = ""; //Your button 2 IR HEX code (in lower case).
  23. String btn3 = "";
  24. String btn4 = "";
  25. String btn5 = "";
  26. String btn6 = "";
  27. String btn7 = "";
  28. String btn8 = "";
  29. String btn9 = "";
  30. String btn0 = "";
  31. String btnReset = ""; //Your Reset button IR hex code.
  32.  
  33. //Misc
  34. bool shouldBeep = true;
  35. bool unlockSound = true;
  36.  
  37. /*Don't edit anything below this if you don't what you are doing.
  38.    Somethimes, it can cause high load to your arduino.
  39. */
  40. bool locked = true;
  41. String cPass = "";
  42. int chance = 0;
  43. String cmp = "----Distro Studios-----\n";
  44. IRrecv irrecv(RECV_PIN);
  45. decode_results results;
  46. String str2 = "os-----\n";
  47. void setup() {
  48.   pinMode(redLed, OUTPUT);
  49.   pinMode(greenLed, OUTPUT);
  50.   pinMode(buzzer, OUTPUT);
  51.   irrecv.enableIRIn();
  52.   Serial.begin(9600);
  53.   digitalWrite(redLed, LOW);
  54.   digitalWrite(greenLed, LOW);
  55.   Serial.print(cmp);
  56. }
  57.  
  58. void loop() {
  59.   if (cmp.endsWith(str2) == false)
  60.     Serial.print("Error!");
  61.   else {
  62.     if (irrecv.decode(&results)) {
  63.  
  64.       if (String(results.value, HEX) == btn1) {
  65.         Serial.print("1");
  66.         updatePass("1");
  67.       }
  68.       else if (String(results.value, HEX) == btn2) {
  69.         Serial.print("2");
  70.         updatePass("2");
  71.       }
  72.       else if (String(results.value, HEX) == btn3) {
  73.         Serial.print("3");
  74.         updatePass("3");
  75.       }
  76.       else if (String(results.value, HEX) == btn4) {
  77.         Serial.print("4");
  78.         updatePass("4");
  79.       }
  80.       else if (String(results.value, HEX) == btn5) {
  81.         Serial.print("5");
  82.         updatePass("5");
  83.       }
  84.       else if (String(results.value, HEX) == btn6) {
  85.         Serial.print("6");
  86.         updatePass("6");
  87.       }
  88.       else if (String(results.value, HEX) == btn7) {
  89.         Serial.print("7");
  90.         updatePass("7");
  91.       }
  92.       else if (String(results.value, HEX) == btn8) {
  93.         Serial.print("8");
  94.         updatePass("8");
  95.       }
  96.       else if (String(results.value, HEX) == btn9) {
  97.         Serial.print("9");
  98.         updatePass("9");
  99.       }
  100.       else if (String(results.value, HEX) == btn0) {
  101.         Serial.print("0");
  102.         updatePass("0");
  103.       }
  104.       else if (String(results.value, HEX) == btnReset) {
  105.         resetPass();
  106.         Serial.println("\nRESET");
  107.       }
  108.       irrecv.resume(); // Receive the next value
  109.     }
  110.     if (chance > chances)
  111.       digitalWrite(buzzer, HIGH);//buzzer
  112.  
  113.     if (locked == true) {
  114.       digitalWrite(redLed, HIGH);
  115.       digitalWrite(greenLed, LOW);
  116.     }
  117.     else {
  118.       digitalWrite(redLed, LOW);
  119.       digitalWrite(greenLed, HIGH);
  120.     }
  121.   }
  122. }
  123.  
  124. bool updatePass(String ch) {
  125.   if (locked == false)
  126.     return false;
  127.   beep();
  128.   if (updatable() == true) {
  129.     cPass += ch;
  130.     if (cPass.length() < pass.length()) {
  131.  
  132.     }
  133.     else {
  134.       if (pass == cPass) {
  135.         locked = false;
  136.         digitalWrite(greenLed, HIGH);
  137.         digitalWrite(redLed, LOW);
  138.         chance = 0;
  139.         Serial.println("\nUNLOCKED");
  140.         if (unlockSound == true) {
  141.           delay(60);
  142.           digitalWrite(buzzer, HIGH);
  143.           delay(150);
  144.           digitalWrite(buzzer, LOW);
  145.           delay(100);
  146.           digitalWrite(buzzer, HIGH);
  147.           delay(200);
  148.           digitalWrite(buzzer, LOW);
  149.         }
  150.       }
  151.       else {
  152.         cPass = "";
  153.         chance += 1;
  154.         digitalWrite(buzzer, HIGH);
  155.         delay(1000);
  156.         digitalWrite(buzzer, LOW);
  157.         Serial.println("\nWRONG PASSWORD!");
  158.       }
  159.     }
  160.   }
  161. }
  162.  
  163. bool updatable() {
  164.   if (chance <= chances)
  165.     return true;
  166.   return afterChances;
  167. }
  168.  
  169. void resetPass() {
  170.   cPass = "";
  171.   locked = true;
  172. }
  173.  
  174. void beep() {
  175.   if (shouldBeep == true) {
  176.     digitalWrite(buzzer, HIGH);
  177.     delay(60);
  178.     digitalWrite(buzzer, LOW);
  179.   }
  180. }
(#) tbarath válasza asrock hozzászólására (») Dec 6, 2019 /
 
Alapvetően két probléma van szerintem:
1. Nyelvi problémák. Nehezen értjük meg, amit leírsz, és amit mi leírunk azt nehezen érted meg. Azzal most találkozok először, hogy nem magyar az anyanyelved, nem láttam hogy bárhol leírtad volna, az adatlapodon sem szerepel. Ez megnehezíti a kommunikációt, bár lehetetlenné nem teszi. De itt pl. nem értjük, hogy mit is szeretnél azzal a sorral csinálni. Nem írod le, nem segítesz, csak panaszkodsz.
2. Hiányoznak az alapok, azok nélkül pedig elég nehéz. Pl. nem érted, hogy mi egy változó scope-ja, a típusegyez(tet)és fontosságát, vagy hogy egy azonosítót egy dologra használunk. (Még ha az adott nyelv bizonyos keretek közt támogatja is, akkor is legtöbbször tökönlövi magát ezzel az ember.) Ezért is javasoltam, hogy valamilyen alapozó képzésen menj végig, ha magyarul nem az igazi, akkor más nyelven. Ha könnyebb akkor angolul, de az anyanyelveden is tutira van valami ingyenesen elérhető tananyag. Én amikor elkezdtem az Arduino világával foglalkozni, akkor már az első programom után voltam legalább 25 évvel, infót végeztem középiskolában és főiskolán is, ebben a szakmában dolgozok, és C-vel is foglalkoztam már. És mégis azzal kezdtem, hogy a tavir.hu-n "előfizettem ingyen" a 60 napos arduino tanfolyamra, amiből persze nagyon sok mindent tudtam már, de voltak dolgok, amik újdonságot jelentettek. Nem bántam meg.
(#) tbarath válasza asrock hozzászólására (») Dec 6, 2019 /
 
Idézet:
„String updatePass="1234";”

Ezzel definiálsz a setup() függvény scope-jában egy updatePass nevű String változót (valójában objektumot, de ebbe most ne menyjünk bele), aminek az "1234" értéket adod.
Amint kilépsz ebből a függvényből, ez a változó "elvész".

Ugyanakkor vagy egy ugyanolyan, updatePass nevű függvény is a kódban lejjebb, ez - a neve alapján - a jelszó megváltoztatását végzi. Ez (is) probléma. Mi a célod a fenti értékadással?
(#) asrock válasza tbarath hozzászólására (») Dec 6, 2019 /
 
Probléma ez a résznél nem értem mért nem igaz a feltétel!
eredeti kódban ir verzióban gombok írják updatePass részt és ha meg egyezik 1234 igaz bool feltétel!
updatePass("0");
.....
updatePass("9");
bool updatePass(String ch)

De ha a bool feltételnek adok egy ilyen fix változó string akort nem lesz igaz bool updatePass része de miért nem?
String updatePass="1234";
(#) proba válasza asrock hozzászólására (») Dec 6, 2019 /
 
A te programodban az updatePass() függvényt meg sem hívod. A programodból csak ez a rész működik:
  1. void loop()
  2. {
  3.  
  4.     if (chance > chances)
  5.       digitalWrite(buzzer, HIGH);//buzzer
  6.  
  7.     if (locked == true) {
  8.       digitalWrite(redLed, HIGH);
  9.       digitalWrite(greenLed, LOW);
  10.     }
  11.     else {
  12.       digitalWrite(redLed, LOW);
  13.       digitalWrite(greenLed, HIGH);
  14.     }
  15.   }

Meg minden reset után lefut egyszer az értékadó rész:

  1. void setup() {
  2.   pinMode(redLed, OUTPUT);
  3.   pinMode(greenLed, OUTPUT);
  4.   pinMode(buzzer, OUTPUT);
  5.  
  6.   Serial.begin(115200);
  7.   digitalWrite(redLed, LOW);
  8.   digitalWrite(greenLed, LOW);
  9.  
  10.  
  11. //------------------------------------
  12.  
  13.    Serial.begin(9600);
  14.  
  15.   String updatePass ="1234";
  16.  
  17. //------------------------------------
  18.  
  19. }

Ezek után minek kellene történnie?
A hozzászólás módosítva: Dec 6, 2019
(#) kapu48 válasza asrock hozzászólására (») Dec 6, 2019 /
 
Előttem már több problémára felhívták a figyelmedet, had álljak be a sorba én is.

Még ha meg is hívnád a kérdéses függvényt valahol, az akkor sem ad vissza sehol "return true;"-t mert hiányzik belőle ez a rész!
  1. bool updatePass(String ch) {
  2.   if (locked == false)
  3.     return false;
  4.   beep();
  5.   if (updatable() == true) {
  6.     cPass += ch;
  7.     if (cPass.length() < pass.length()) {
  8.  
  9.     }
  10.     else {
  11.       if (pass == cPass) {
  12.         locked = false;
  13.         digitalWrite(greenLed, HIGH);
  14.         digitalWrite(redLed, LOW);
  15.         chance = 0;
  16.         Serial.println("\nUNLOCKED");
  17.         if (unlockSound == true) {
  18.           delay(60);
  19.           digitalWrite(buzzer, HIGH);
  20.           delay(150);
  21.           digitalWrite(buzzer, LOW);
  22.           delay(100);
  23.           digitalWrite(buzzer, HIGH);
  24.           delay(200);
  25.           digitalWrite(buzzer, LOW);
  26.         }
  27.           return true;  // esetleg itt visszatérhetsz true-val?
  28.       }
  29.       else {
  30.         cPass = "";
  31.         chance += 1;
  32.         digitalWrite(buzzer, HIGH);
  33.         delay(1000);
  34.         digitalWrite(buzzer, LOW);
  35.         Serial.println("\nWRONG PASSWORD!");
  36.       }
  37.     }
  38.   }
  39. }

Hozzáfűzném, hogy én az egész logikát nem értem!

Legalább leírnád mit szeretnél megoldani?
Biztos lenne valami ép-kéz-láb megoldás.
(#) asrock válasza kapu48 hozzászólására (») Dec 7, 2019 /
 
Szia!

Csak ezt a sort akartam megtudni mi aktiválja...

bool updatePass(String ch)

void setup részbe csak bekel ezt raknom...
updatePass("1234");
Teljes jelszó függvény jól működik mert lefut..

Az updatePass kell még bele rakni egy int változót sorrendbe írja be egymás utáni értékeket ami 4 karakter láncból fog állni ez a rész még átkel gondolnom hogy hogyan!

int value; //1..100 ig rotary encoder számláló váltózó

pl 42....6....23...6 (ezek nem fixek érték)
Sor rendbe történjen a beírás updatePass(426236); részbe!

Mit javasolsz konvertálás int to sring egy tömb letárolni 4 karakter láncot?
A hozzászólás módosítva: Dec 7, 2019
(#) asrock válasza proba hozzászólására (») Dec 7, 2019 /
 
Meg lett a függvény cselekvése amit akartam!
(#) tbarath válasza asrock hozzászólására (») Dec 7, 2019 /
 
A probléma továbbra is az, hogy amit írtál, a
  1. String updatePass="1234";
az nem feltétel, hanem értékadás.

Idézet:
„De ha a bool feltételnek adok egy ilyen fix változó string akort nem lesz igaz bool updatePass része de miért nem?”


Leszámítva azt, hogy ennek a mondatnak az ég világon semmi értelme nincs, további probléma még, hogy a bool nem feltétel hanem típus, valamint nincs olyan, hogy fix változó.

Amíg az alapfogalmakkal nem vagy tisztában, addig csak önmagát szívatja az, aki segíteni próbál neked. Ha pedig azt mondjuk, hogy ismerkedj meg az alapokkal, akkor meg fel vagy háborodva. Ez a baj.
(#) kaqkk válasza tbarath hozzászólására (») Dec 7, 2019 /
 
Azt mondjátok el neki hogy a string az szöveges változó ... Az összes többi változó meg számokat kezel ...
(#) asrock válasza tbarath hozzászólására (») Dec 7, 2019 /
 
Ugrik updatePass="1234"; erre a részre bool updatePass(String ch) igy már nincs kérdés!

Most updatePass elhelyezés egy int változót 4 láncból áll majd hossza...
alap kod lentebb....

  1. int revolutions; //rotari encoder számláló
  2.  
  3. String h=String(revolutions);
  4.  
  5.  updatePass(h);
(#) asrock válasza kaqkk hozzászólására (») Dec 7, 2019 /
 
Ezt tudom!
(#) Bell válasza tbarath hozzászólására (») Dec 7, 2019 /
 
Köszönöm!
A Leonardonál csak a 3, 11 lábakon lehet 980 Hz-es PWM-et előállítani, de az én pro micro-mban nincs 11-es.
Az osztásarányok pedig csak fix értékekből választhatók.
(#) Kovidivi válasza Bell hozzászólására (») Dec 7, 2019 /
 
Rákerestél már a neten arra, hogy leonardo pwm freq change?
(#) Bell válasza mateatek hozzászólására (») Dec 7, 2019 /
 
Köszönöm!
Ezzel az 5 és a 10-es lábakon megvan az 1 KHz, a 3-as lábon pedig alapból a 980 Hz.
Próbáltam megérteni, továbbgondolni, mi kell még ahhoz, hogy a másik két1K-s PWM is megjelenjen a kimeneten, de nem jutottam előbbre.
(#) mateatek válasza Bell hozzászólására (») Dec 7, 2019 / 1
 
Most láttam, hogy sajnos Pro Micro-d van. Azon eléggé spórolósan vannak kivezetve a timerek kivezetései, a kódot, amit adtam, nem működik rajta. Vagyis, hogy működi, de nincsen kivezetve az összes szükséget MCU láb a tüskesorra.
Holnap ránézek, hogy mely kimenetek élnek, és írok hozzá valamilyen förmedvényt.
(#) Bell válasza Kovidivi hozzászólására (») Dec 7, 2019 /
 
Rákerestem, de ott csak fix 1, 8, 64, vagy valami hasonló osztásarányokból lehet szemezgetni, - a többit persze nem értettem - így csak a 3-as-on van 980 Hz.
De mateatek fórumtárs műveletei a regiszterekkel széles határok között állítható frekit tesznek lehetővé.
(#) Koncsar hozzászólása Dec 7, 2019 /
 
  1. avrdude: Warning: cannot open USB device: Function not implemented
  2. avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
  3. Hiba a bootloader égetésekor.


Megérkezett az USB asp programozóm, de lehet, hogy ki is nyírtam. Ezt a hibát ís kiírja.


  1. avrdude: warning: cannot set sck period. please check for usbasp firmware update.
  2. avrdude: error: program enable: target doesn't answer. 1
  3. avrdude: initialization failed, rc=-1
  4.         Double check connections and try again, or use -F to override
  5.         this check.
  6.  
  7. Hiba a bootloader égetésekor.
A hozzászólás módosítva: Dec 7, 2019

Névtelen.jpg
    
(#) mateatek válasza Bell hozzászólására (») Dec 7, 2019 / 1
 
Íme egy förmedvény. A borzasztó az egészben az, hogy nem nagyon vágom a 32U4 4-es timerjének a beállításait. Ezért az vesse rám az első követ, aki nem fél, hogy lemínuszolom a hozzászólását.
Tudatlanságom miatt a timer1 két kimenetét, a timer3 egy kimenetét és a timer0 egy kimenetét használom. Mindegyik 1 kHz-en megy. A 16 bitesek kitöltését nagyon jó, 16000-es felbontással lehet állítani. A 8 bites timer szerény, 250-es felbontással megy.
A legborzasztóbb az egészben az, hogy a timer0 babrálása miatt felborult az egész időzítés. Nincsen használható millis() és delay().

  1. void setup() {
  2.   pinMode(5, OUTPUT);
  3.   pinMode(3, OUTPUT);
  4.   pinMode(9, OUTPUT);
  5.   pinMode(10, OUTPUT);
  6.   TCCR1A = 0;
  7.   TCCR1B = 0;
  8.   TCCR3A = 0;
  9.   TCCR3B = 0;
  10.   TCCR0A = 0;
  11.   TCCR0B = 0;
  12.   TCCR1A = _BV(WGM11) | _BV(COM1A1);
  13.   TCCR1B = _BV(WGM13) | _BV(CS10) | _BV(WGM12);
  14.   ICR1   = 15999;
  15.   TCCR3A = _BV(WGM31) | _BV(COM3A1) | _BV(COM3B1);
  16.   TCCR3B = _BV(WGM33) | _BV(CS30) | _BV(WGM32);
  17.   ICR3   = 15999;
  18.   TCCR0A = _BV(WGM00) | _BV(COM0B1) | _BV(WGM01);
  19.   TCCR0B = _BV(CS00) | _BV(CS01) | _BV(WGM02);
  20.   OCR0A = 249;
  21.   OCR0B = 49; //PWM kitoltes 3-as pin, 0-249
  22.   OCR1A = 1599; //PWM kitoltes 9-es pin, 0-15999
  23.   OCR1B = 1599; //PWM kitoltes 10-es pin, 0-15999
  24.   OCR3A = 1599; //PWM kitoltes 5-os pin, 0-15999
  25. }
  26.  
  27. void loop() {
  28. }
A hozzászólás módosítva: Dec 7, 2019
(#) Koncsar válasza Koncsar hozzászólására (») Dec 7, 2019 /
 
Az nem lehet, hogy a Zadig nevű progi kevert be valamit? Az Arduino progi nem látja az USBasp portját. Az Atmega8L be van beintegrálva FT232?
A hozzászólás módosítva: Dec 7, 2019
(#) Massawa hozzászólása Dec 7, 2019 /
 
Ötleteket keresek.
A bemeneten kb 8 különbözö byte jelenhet meg. Vannak olyanok amiknek át kell irnia az elözöt, de vannak olyanok is amik összeadodnak.

Pl. 0000 0001 után egy 0000 0010 következik, akkor az eredmény 0000 0011
De ha a 0000 0001 után egy 0000 0100 következik, akkor az átirja az elözöt azaz az eredmény 0000 0100 kell hogy legyen. Stb.
Hogyan lehetne egy ilyen algoritmust kezelni ( ki kell zárni a nem kombinálhato byteket és összeadni a kombinálhatokat.)
Minden byte egy állapotot jelöl, azaz vannak olyanok amik nem zárják ki egymást, meg vannak olyanok amik a másikat kizárják). Szerencsére nincs sok, csak 8.


Kösz az ötleteket.
(#) sargarigo válasza Massawa hozzászólására (») Dec 7, 2019 /
 
Sok minden nem derült ki ebből, hogy milyen feltétel szerint zárja ki meg adódik össze. Gondolom van valami egzakt szabály erre. Lehet feltételvizsgálat, de akár egy táblázatból is ki lehet olvasni, mint régen az epromoknál volt. Ha van valami állapotátmeneti táblád az is sokat segíthet.
Próbáld meg pontosabban definiálni a feladatot, és biztosan találunk rá megoldást, nem tűnik bonyolultnak!
szerk.: Itt a "Stb" a lényeg!
A hozzászólás módosítva: Dec 7, 2019
(#) kapu48 válasza Massawa hozzászólására (») Dec 7, 2019 /
 
Valami ilyesmit gondolok:
  1. byte select(byte byte1, byte byte2, byte maskKizar)
  2. {
  3.   byte ret =0;
  4.  
  5.   if ((byte2 & maskKizar)>0) { // ha van kizáró bit
  6.     if ((byte2 & 0x04)>0) { // elsö kizárás
  7.       ret = byte2;
  8.     } else if((byte2 & 0x08)>0){ // többi 8 kizárások felsorolása
  9.       //ret = mit keltenni;  
  10.     }    
  11.   }else ret = byte1 + byte2;
  12.  
  13.   return ret;
  14. }
  15.  
  16.  
  17. void setup() {
  18.   // put your setup code here, to run once:
  19.   byte eredmeny = select(0x01,0x04, 0x1A);
  20. }
  21.  
  22. void loop() {
  23.   // put your main code here, to run repeatedly:
  24.  
  25. }
Következő: »»   571 / 851
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem