Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
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!
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".
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.
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á.)
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!
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";
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. 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?
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";
A te programodban az updatePass() függvényt meg sem hívod. A programodból csak ez a rész működik:
Meg minden reset után lefut egyszer az értékadó rész:
Ezek után minek kellene történnie? A hozzászólás módosítva: 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!
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.
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
Meg lett a függvény cselekvése amit akartam!
A probléma továbbra is az, hogy amit írtál, a
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.
Azt mondjátok el neki hogy a string az szöveges változó ... Az összes többi változó meg számokat kezel ...
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....
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.
Rákerestél már a neten arra, hogy leonardo pwm freq change?
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.
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.
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é.
Megérkezett az USB asp programozóm, de lehet, hogy ki is nyírtam. Ezt a hibát ís kiírja.
A hozzászólás módosítva: Dec 7, 2019
Í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().
A hozzászólás módosítva: 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.
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
Valami ilyesmit gondolok:
|
Bejelentkezés
Hirdetés |