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   592 / 852
(#) Jonni hozzászólása Feb 21, 2020 /
 
Sziasztok. Lcd-vel kapcsolatos problémám van és remélem tud valaki segíteni. Összeszereltem egy 2,4 tft lcd-t egy arduino mega 2560-al feltöltöttem rá a mcufriend kbv diagnose tft support programot és látszólag mindent jól csinál de mégse mert tükrözve írja a betűket. Az lcd chip-re ICN74HC245TS van írva és amikor az ID-t íratom ki 0X5408-at ír ki. Valaki találkozott már ilyennel? Állítólag uno-n nem tükrözi de olyanom nincs és nem tudom kipróbálni. Ezeket a könyvtárakat használom hozzá.
#include <MCUFRIEND_kbv.h>
#include "Adafruit_GFX.h"
#include <SPI.h>
MCUFRIEND_kbv tft;
:?:
Szép napot mindenkinek
(#) atus1981 hozzászólása Feb 22, 2020 /
 
Sziasztok!
Egy nano lapra feltöltöttem az uno bootloaderét, viszont használatban van az A6 és A7 pin is a hardverben, ahova szeretném tenni. Az uno bootloadere befolyásolja ezen pinek használatát?
Köszi.
(#) icserny válasza atus1981 hozzászólására (») Feb 22, 2020 / 1
 
Nem, azokat a lábakat csak a te programod fogja használni (analóg bemenetként, mert másra nem használhatóak).
(#) Frankye hozzászólása Feb 22, 2020 /
 
Sziasztok!
Ismét a segítségeteket kérem.
A program célja az lenne, hogy az egyik kimeneten 3 felvillanás után legyen egy kis szünet, a másikon pedig 5 felvillanás után. A millis () függvénnyel már jól elboldogulok a villogásnál, azonban azt nem tudom, hogyan tudnám megoldani, hogy az adott villanás-szám után legyen szünet az adott villogásnál, de a másikat ne befolyásolja. Mi lenne a jó megoldás erre? Még egy millis () figyelés? De az nem mondja meg, hogy hány felvillanás volt...
Itt az eddig megírt kód, amiben nincs még a felvillanások számának figyelése, csak maga a villogtatás. (Az tökéletesen működik...)
  1. int led1 = 2;
  2. int led2 = 3;
  3.  
  4. int ledState1 = LOW;
  5. int ledState2 = LOW;
  6.  
  7. unsigned long previousMillis1 = 0;
  8. const long period1 = 100;
  9.  
  10. unsigned long previousMillis2 = 0;
  11. const long period2 = 50;
  12.  
  13. int ledChange = LOW;
  14. int lastState = HIGH;
  15.  
  16. void setup() {
  17.   pinMode(led1, OUTPUT);
  18.   pinMode(led2, OUTPUT);
  19. }
  20.  
  21. void harom () {
  22.     unsigned long currentMillis = millis(); // tényleges idő letárol
  23.     if (currentMillis - previousMillis1 >= period1) {
  24.     previousMillis1 = currentMillis;
  25.     if (ledState1 == LOW) {
  26.       ledState1 = HIGH;
  27.     } else {
  28.       ledState1 = LOW;
  29.     }
  30.     digitalWrite(led1, ledState1);
  31.   }
  32. }
  33. void ketto () {
  34.     unsigned long currentMillis = millis(); // tényleges idő letárol
  35.     if (currentMillis - previousMillis2 >= period2) {
  36.     previousMillis2 = currentMillis;
  37.     if (ledState2 == LOW) {
  38.       ledState2 = HIGH;
  39.     } else {
  40.       ledState2 = LOW;
  41.     }
  42.     digitalWrite(led2, ledState2);
  43.   }
  44. }
  45.  
  46. void loop() {
  47.   unsigned long currentMillis = millis();
  48.   harom ();
  49.   ketto ();
  50. }
(#) pipi válasza Frankye hozzászólására (») Feb 22, 2020 /
 
Tegyél be egy plusz számlálót a led váltáshoz, ha a számláló pl.6 (3*ki/be) akkor duplázd a periódusidőt(és töröld a számlálót
(#) sargarigo válasza Frankye hozzászólására (») Feb 22, 2020 /
 
Vagy ha ilyen irányban akarsz elindulni, és tovább bonyolítani "majd valamikor" a dolgot, akkor érdemes lehet állapotgépként gondolni rá. Tehát felveszel egy változót, ami csak azért van, hogy abban tárold az aktuális állapotot. Például led1ÉppenAlszik, led1ÉppenVilágít. led2Éppen.. stb. Kulcsszó az "enum".
Már két lednél is elég könnyen bele lehet gabalyodni hogy most akkor éppen melyik változó kihez tartozik, melyikkel mit kell csinálni. Talán ez segít Bővebben: Link
Szerk.: Ezt az előző hozzászólás kiegészítésének szántam, nem ellene!
A hozzászólás módosítva: Feb 22, 2020
(#) Massawa hozzászólása Feb 23, 2020 /
 
Mitöl van az, hogy tegnap 4 orán át nem voltam képes müködésbe hozni a progit (switch... case rutinok), ma reggel alig 10 perc alatt elindult????
(#) kaqkk válasza Massawa hozzászólására (») Feb 23, 2020 /
 
Mert tegnap rágörcsöltél , ma meg kipihenten jött a "heuréka" effektus ... Nem a kádban jutott eszedbe a megoldás ?
(#) Frankye válasza pipi hozzászólására (») Feb 23, 2020 /
 
Köszönöm az ötletet. Sajnos a megvalósításában elakadtam. Több helyen is próbáltam ezt a számlálást, vizsgálatot, de sehogy nem akarja az igazat. Biztosan bennem van a hiba, de nem jutok előbbre. Most ezt tartalmazza a kód, felkommentezve. Mit nem csinálok jól?
  1. int led1 = 2; // 1. lED kimenete 2
  2. int led2 = 3; // 2. LED kimenete 3
  3.  
  4. int ledStatusz1 = LOW; // 1. LED alapértelmezve ki
  5. int ledStatusz2 = LOW; // 2. lED alapértelmezve ki
  6.  
  7. unsigned long elozoido1 = 0; // elozoido1 változó deklarálása
  8. int periodus1 = 100;  // periodusidő 1. értéke 100
  9. int hanyszor1 = 0;  // hányszor villan 1. deklarálása
  10.  
  11. unsigned long elozoido2 = 0;  // elozoido2 változó deklarálása
  12. int periodus2 = 50; // periodusidő 2. értéke 50
  13. int hanyszor2 = 0;  // hányszor villan 2. deklarálása
  14.  
  15. void setup() {
  16.   pinMode(led1, OUTPUT); // LED1 kimenetként
  17.   pinMode(led2, OUTPUT); // LED2 kimenetként
  18. }
  19.  
  20. void harom () {
  21.   unsigned long tenyido = millis(); //tényidő letárol
  22.   if (hanyszor1 >= 6) { // ha a hanyszor1 nagyobb/egyenlő 6
  23.     periodus1 = 1000; // 1. periódusidő növelése
  24.     hanyszor1 = 0;  // hányszor számláló nulláz
  25.   }
  26.   else {
  27.     periodus1 = 100;  //ellenkező esetben a periódusidő 1. értéke 100
  28.   }
  29.   if (tenyido - elozoido1 >= periodus1) {  // ha az eltelt idő több, mint a periódus 1.
  30.     elozoido1 = tenyido;  // tényidő az előzőidőbe
  31.     if (ledStatusz1 == LOW) { // LED1 státusz váltása
  32.       ledStatusz1 = HIGH;
  33.     } else {
  34.       ledStatusz1 = LOW;
  35.     }
  36.     digitalWrite(led1, ledStatusz1);  //LED1 ki/bekapcsolása
  37.     hanyszor1 = hanyszor1 + 1; //számláló növelése
  38.   }
  39. }
  40. void ketto () {
  41.   unsigned long tenyido = millis(); //tényidő letárol
  42.   if (hanyszor2 >= 4) { // ha a hanyszor2 nagyobb/egyenlő 4
  43.     periodus2 = 2000; // 2. periódusidő növelése
  44.     hanyszor2 = 0;  // hányszor számláló nulláz
  45.   }
  46.   else {
  47.     periodus2 = 50; //ellenkező esetben a periódusidő 2. értéke 50
  48.   }
  49.   if (tenyido - elozoido2 >= periodus2) { // ha az eltelt idő több, mint a periódus 2.
  50.     elozoido2 = tenyido;  // tényidő az előzőidőbe
  51.     if (ledStatusz2 == LOW) { // LED2 státusz váltása
  52.       ledStatusz2 = HIGH;
  53.     } else {
  54.       ledStatusz2 = LOW;
  55.     }
  56.     digitalWrite(led2, ledStatusz2);  //LED2 ki/bekapcsolása
  57.     hanyszor2 = hanyszor2 + 1;  //számláló növelése
  58.   }
  59. }
  60.  
  61. void loop() {
  62.   harom (); //szubrutin hívása
  63.   ketto (); //szubrutin hívása
  64. }
(#) Frankye válasza sargarigo hozzászólására (») Feb 23, 2020 /
 
Huh, ez nekem egy kicsit "magas". Nem mondom, hogy nem értem, miről szól a leírás, de ennyire nem bonyolítanám, egyelőre. Még nagyon az alapokat tanulgatom csak... ("50+"-os fejjel ez már nem olyan könnyen megy. )
(#) sargarigo válasza Frankye hozzászólására (») Feb 23, 2020 /
 
Na összerakom én is, aztán ha addig nem sikerül megoldani, akkor estére átküldöm ha nem jön közbe semmi (család pl).
Pontosan mit szeretnél?
A hozzászólás módosítva: Feb 23, 2020
(#) Frankye válasza sargarigo hozzászólására (») Feb 23, 2020 /
 
Tulajdonképpen azt szeretném elérni, hogy az egyes kimenetekre kötött LED-ek egymástól függetlenül villogjanak. Azaz az egyik kimeneten (például) 3 felvillanás után legyen egy kis szünet, majd ismét 3 felvillanás, ismét szünet, és így tovább. A másik kimeneten ettől függetlenül legyen (mondjuk) 4 felvillanás, utána szünet, majd megint 4 felvillanás, megint szünet, és így tovább. A lényeg az egyes kimenetek "függetlensége", azaz ha az egyiken szünet van is, a másikon ettől függetlenül menjen a villogás tovább. A továbbiakban több, különböző villogást szeretnék megvalósítani több kimeneten, de egyelőre már annak is örülnék, ha ez a kettő úgy menne, ahogy én szeretném.
(#) sargarigo válasza Frankye hozzászólására (») Feb 23, 2020 /
 
Szinkronban menjenek, vagy az ütemezési frekvenciájuk is legyen más?
(#) Frankye válasza sargarigo hozzászólására (») Feb 23, 2020 /
 
Más-más ütemezéssel. Ezért van a feltett kódban is különböző periódus-idő, és ezért is nem a delay (...) -jel oldottam meg.
(#) sargarigo válasza Frankye hozzászólására (») Feb 23, 2020 /
 
Ok, meglátom mit tehetek!
(#) Frankye válasza sargarigo hozzászólására (») Feb 23, 2020 /
 
Előre is hálás köszönetem!
(#) sargarigo válasza Frankye hozzászólására (») Feb 23, 2020 / 6
 
Na akkor jön a kisregény!

Azért nem tudtad megcsinálni, mert noha viszonylag egyszerű a feladat (csak két ledet kell villogtatni), de ezt rendkívül sok paraméterrel kell tenned. Kell egy idő, amíg a led be van kapcsolva. Aztán amíg ki van kapcsolva. Kell egy számláló ami számolja hányat villant, és kell valami ami eldönti meddig maradjon kussban.
Mindezt annyiszor, ahány ledre szükséged van. Ráadásul nem kellene hogy ezek összeakadjanak egymással. Éppen nem lehetetlen megoldani, de jó sok fejvakarás kell hozzá, és rengeteg a hibalehetőség. Arra gondoltam, hogy két változatban készítem el. Egyszer ahogy én gondolom, és egyszer ahogy az egyszerű lenne. Na ilyet nem találtam. Mivel cél az, hogy egymástól függetlenül menjenek a ledek, az első pár fejvakarás után inkább a jónak tartott megoldást dolgoztam ki.
Nos a feladat tökéletesen ráillik az objektumorientált programozás elméletére. Anélkül hogy feleslegesen belebonyolódnék, pár dolgot mondok róla.

Ami nekünk kell, az az egységbe zárás! Ez azt jelenti, hogy vannak úgynevezett objektumaink (a ledek), amik valamire jók (villognak). Amit tudnak csinálni, és amivel ezt csinálják, az kívülről nem hozzáférhető, így nem is tud összeakadni. Minden led kezeli a saját adatait, beleértve az időzítéseket is.
Csak annyi a dolgunk, hogy létrehozunk annyi példányt amennyi ledünk lesz, felparaméterezzük, és rendszeresen meghívjuk az update() eljárásaikat.

Mindössze ennyi a használata
Ez a példányosítás:
  1. myled led1(7);

Ez a szívverés:
  1. void loop()
  2. {
  3.   led1.update();
  4. }


És alább a teljes fordítható kód:
  1. /*
  2.    Feladat:
  3.    Készíteni kell egy programot, ami kettő (vagy több) led villogtatását végzi el,
  4.    oly módon, hogy egymástól függetlenül tudjanak villogni, ráadásul mintázatot
  5.    alkotva. Például 3 felvillanás, egy szünet ismétlődik, vagy négy felvillanás egy
  6.    szünet. Minden paramétere állítható legyen.
  7.  
  8.    Szerző: Gyarmati Krisztián as Sargarigo
  9.    Dátum: 2020.02.23 vasárnap
  10.    Teszt panel: Arudino Uno R3, utángyárott kínai.
  11. */
  12.  
  13. // Led kimenetek definiálása. Alacsony szintre világít.
  14. #define led1Pin  7
  15. #define led2Pin  8
  16.  
  17. class myled
  18. {
  19.     int ledport;
  20.     int baseBlinkTime = 100;  // ms
  21.     int blinkOnTime = 5 * baseBlinkTime;
  22.     int blinkOffTime = 5 * baseBlinkTime;
  23.     int oneBlinkTime = blinkOnTime + blinkOffTime;
  24.  
  25.     int onCycle = 3;
  26.     int offCycle = 1;
  27.     int onCycleTime = onCycle * oneBlinkTime;
  28.     int offCycleTime = offCycle * oneBlinkTime;
  29.     int allCycleCounter = onCycle + offCycle;
  30.  
  31.     unsigned long oldTime = 0;
  32.     unsigned long blinkedTime = 0;
  33.     int programCounter = 1;
  34.     int ledState = 1;
  35.  
  36.   public:
  37.  
  38.     myled(int ledpin_) {
  39.       ledport = ledpin_;
  40.       pinMode(ledport, OUTPUT);
  41.       oldTime = millis();
  42.     }
  43.  
  44.     myled(int ledpin_, int onTime_, int offTime_) {
  45.       ledport = ledpin_;
  46.       onCycle = onTime_;
  47.       offCycle = offTime_;
  48.       onCycleTime = onCycle * oneBlinkTime;
  49.       offCycleTime = offCycle * oneBlinkTime;
  50.       allCycleCounter = onCycle + offCycle;
  51.       pinMode(ledport, OUTPUT);
  52.       oldTime = millis();
  53.     }
  54.  
  55.     myled(int ledpin_, int onTime_, int offTime_, int blinkOnTime_, int blinkOffTime_) {
  56.       ledport = ledpin_;
  57.       onCycle = onTime_;
  58.       offCycle = offTime_;
  59.       blinkOnTime = blinkOnTime_;
  60.       blinkOffTime = blinkOffTime_;
  61.  
  62.       oneBlinkTime = blinkOnTime + blinkOffTime;
  63.       onCycleTime = onCycle * oneBlinkTime;
  64.       offCycleTime = offCycle * oneBlinkTime;
  65.       allCycleCounter = onCycle + offCycle;
  66.       pinMode(ledport, OUTPUT);
  67.       oldTime = millis();
  68.     }
  69.  
  70.     void ledOn() {
  71.       digitalWrite(ledport, LOW);
  72.     }
  73.  
  74.     void ledOff() {
  75.       digitalWrite(ledport, HIGH);
  76.     }
  77.  
  78.     void update()
  79.     {
  80.       // Egy teljes blink időnként léptetjük a programszámlálót
  81.       if (oldTime + oneBlinkTime < millis())
  82.       {
  83.         if (programCounter < allCycleCounter)
  84.         {
  85.           programCounter++;
  86.         }
  87.         else
  88.           programCounter = 1;
  89.         oldTime = millis();
  90.       }
  91.  
  92.       if (programCounter <= onCycleTime / oneBlinkTime)
  93.       {
  94.         if (ledState == 1)
  95.         {
  96.           ledOn();
  97.           if (blinkedTime + blinkOnTime < millis())
  98.           {
  99.             ledState = 0;
  100.             blinkedTime = millis();
  101.           }
  102.         }
  103.  
  104.         if (ledState == 0)
  105.         {
  106.           ledOff();
  107.           if (blinkedTime + blinkOffTime < millis())
  108.           {
  109.             ledState = 1;
  110.             blinkedTime = millis();
  111.           }
  112.         }
  113.       }
  114.     }
  115. };
  116.  
  117.  
  118. // háromféleképpen indítható.
  119. // A legegyszerűbb csak a ledet kéri, gyakorlatilag demo.
  120. // A második már az ütemet is be tudja állítani (hányat villogjon, hányat ne)
  121. // A harmadik az időket is (mennyi ideig tartson a bekapcsolt állapot, és a kikapcsolt állapot). ms-ban kéri.
  122. // Paraméterek: led kivezetése, bekapcsolva hányat villan, kikapcsolt állapot, bekapcsolási idő, kikapcsolási idő
  123.  
  124. //myled led1(led1Pin);
  125. //myled led1(led1Pin, 3, 1);
  126. myled led1(led1Pin, 3, 1, 250, 250);
  127.  
  128. myled led2(led2Pin, 6, 1, 500, 500);
  129.  
  130. void setup()
  131. {
  132.   // az inicializálást már megcsinálta automatikusan a myled konstruktora
  133. }
  134.  
  135. void loop()
  136. {
  137.   led1.update();
  138.   led2.update();
  139. }


Szerk: Ha az első változat szerint indítod, akkor a default értékekkel megy, 3 villanás 1 szünet, 500ms be, és 500ms kikapcsolt idő.
A hozzászólás módosítva: Feb 23, 2020
(#) Kovidivi válasza sargarigo hozzászólására (») Feb 23, 2020 /
 
Jó kis példa! Gratulálok!
(#) sargarigo válasza Kovidivi hozzászólására (») Feb 23, 2020 /
 
Köszi
(#) proba válasza Frankye hozzászólására (») Feb 23, 2020 /
 
Van egy másik módszer is, millis nélkül:
loop{
a=a+1
delay(1000) egyszerűség kedvéért 1s

switch a:
case 1: led1 be
led2 be
case 2: led1 ki
case 3: led1 be
led2 ki
led3 be
case 8: led1 ki....

}
Kevésbé rugalmas , a ledek szinkronban mennek, egyszerűbb bonyolultabb kódokat kivillogtatni, ebben a formában látszik mely ledek villannak egyszerre, ha szétszeded ledenként switchekre akkor meg a ledek kódjai látszanak.Az "a" talán a legkisebb közös többszörös elvén kiszámolható értékig célszerű számláltatni.
(#) Massawa válasza Frankye hozzászólására (») Feb 23, 2020 /
 
Van valami algoritmusa (szabályossága) a villogásnak? Mert ha nincs akkor lehet, hogy egy véletlengenerátorral és interrupttal egyszerübb megoldani. ( minden LED csoportba más kimenetü véletlengenrátorral lehetne a LED-ket az interrupttal kapcsolgatni - egyszer az egyik csoport máskor a másik stb).
(#) Frankye válasza sargarigo hozzászólására (») Feb 24, 2020 /
 
Hűha!
Hát, ha úgy ezer évig élek, ezt akkor sem tudtam volna magamtól összehozni, így örök hálám üldözzön! A legközelebbi találkozás alkalmával jó vagy nálam egy sörre (vagy csokira, választásod szerint).
Nem mondom, hogy minden pontját töviről hegyire értem, de megpróbálok elmélyedni benne. Ami pedig a legfontosabb, hogy estére ki is próbálom.
Mégy egyszer nagyon köszönöm!
(#) Frankye válasza proba hozzászólására (») Feb 24, 2020 /
 
Igen, ezt én is kiokoskodtam, de éppen az a baj vele, hogy nem rugalmas, és szinkronban mennek a LED-ek. De köszönöm, a felvetésed megerősített, hogy elsőre jó irányba indultam el.
(#) Frankye válasza Massawa hozzászólására (») Feb 24, 2020 /
 
Igen, algoritmizáltan villognak. A random módon villogást viszonylag egyszerű lett volna kivitelezni.
(#) Massawa válasza Frankye hozzászólására (») Feb 24, 2020 /
 
Akkor szerintem is a switch...case a járhato ut vagy esetleg megfelelö array, ahova beirod melyik LED csoportnak mennyit kell villognia és a mutatoval egyszerüen körbe kérdezed.
(#) Frankye válasza Massawa hozzászólására (») Feb 24, 2020 /
 
Ööööö... Ezt kifejtenéd bővebben?
(#) Massawa válasza Frankye hozzászólására (») Feb 24, 2020 / 1
 
Proba kolléga már felvetette pár beszolással elöttem.
Azt meg, hogy mikor mennyit villogjon az adott LED, beviszed egy táblázatba.

int villogas_szama[n]={2,4,3,7,10};
Az n a fenti esetben 5 ( 5 szám van az arrayban).

A mutato sorrendje
0 a 2
1 a 4
2 a 3
3 a 7
4 a 10-t jelenti

Ahonnan a mutatoval ( mindig a 0-val kezdödik) az adott case-ben beolvasod az ismétlesek számát. Pl egy ilyen rutinnal:

for (int i =0, i<villogas_szama[3], i++){
}
Ebben a caseben a for hossza 7 lesz, azaz 7 villogást kapsz.
Ilyen táblázatba beviheted a szünetek hosszát is, söt lehet több dimenzios array is ahol a villogas_szama [n,m] többjegyü is lehet, és minden kombináciohoz más számokat olvashatsz ki
Pl [3,5 ] lehet 7, 2. Ahol a 7 a villogás száma, a 2 meg a pl. szünet közöttük, azaz a frekvenciája. A jo ebben, hogy egy táblázatbol dologozol és az n,m stb. paramétereket szabadon választhatod a kodban, akár paraméterként is pl a fenti sorban is igy is;

for (int i =0, i<5, i++){
villogas_szama [i]. // csinál valamit a táblazatbol kiolvasott értékkel 2,3...

}

Én nagyon szeretem ezeket pl a léptetömotorok hajtásához meg hasonlo algoritmusok kialakitásához. (Folyamatvezérlés).

Nem ismerem pontosan a feladatot, ezért elnézést, ha nem pontos, vagy nem meriti ki teljesen az igényeket.
(#) sargarigo válasza Massawa hozzászólására (») Feb 24, 2020 /
 
Először én is tömböt akartam használni, de ezzel nem sikerült egymástól függetlenül villogtatnom. Ezért vetettem el. Neked mi a módszered rá?
(#) Massawa válasza sargarigo hozzászólására (») Feb 24, 2020 /
 
A kérdés mennyire kell függetlenül villogtatni. Én általában a villogtatásra a megszakitást használom. Azaz van egy gyorsabb megszakitás, és azzal keresek ki egy-egy beállitást az arraybol. Azaz az egyik LED mondjuk minden 2. megszakitásra világit a másik minden hatodikra stb.
Még az ASM kodban ugy csináltam, hogy a megszakitásba beraktam egy munkakod subrutint.
Pl a nyomogombokat minden 4. Megszakitáskor kérdezze le a motort minden megszakitás vezérelje. Volt olyan programom ahol 6 ilyen munkakod volt bizonyos alfeladatok automatikus és egymástol majdnem független elvégzésére. Sajnos az Arduino kodban még nem vagyok annyira otthon. A lassu displayt elég pl minden 10. megszakitással frissiteni.
Közben lehet, egy sima koddal a 3. ledet is villogtatni, függetlenül a megszakitással kezelt LEDektöl.
Épp most dolgozok egy szerkezeten ahol 2 léptetö motor van, a második az elsö lépéseit csak lassan követi ( elektronikus áttétel/sebességválto). Gyakorlatilag pl egy CNC meghajto progibol (3D nyomtato stb) is ki lehetne indulni, ott is legalább 2 motor egymástol függetlenül müködik.

Jobban kellene ismerni a feladatot, hogy meg lehessen határozni az optimallis kodot.
(#) sargarigo válasza Massawa hozzászólására (») Feb 24, 2020 /
 
Idézet:
„Jobban kellene ismerni a feladatot, hogy meg lehessen határozni az optimallis kodot.”

Ez volt az
Következő: »»   592 / 852
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