Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   94 / 360
(#) watt válasza (Felhasználó 15355) hozzászólására (») Nov 25, 2012 /
 
Igen, de igazad van, nem kell több!

Viszont azt meg tudod-e mondani, hogy hogyan lehetne új panelt gyártani?
(#) watt válasza (Felhasználó 15355) hozzászólására (») Nov 25, 2012 /
 
Igen, sajnos én is azt látom, hogy még a C kódrészét meg is lehetne írni, de beláncolni már nem lehetne a fejlesztő környezetbe. Kár, hogy erre nem gondlotak, mert akkor lehetne fejleszteni a programjukat. Ez mondjuk sok kérdést tenne fel...
(#) watt válasza pjg hozzászólására (») Nov 25, 2012 /
 
Ebben egyetértek.
Viszont gondolkodtál a gomkezelős feladaton?
(#) kaqkk válasza watt hozzászólására (») Nov 25, 2012 /
 
Erről mi a véleményed? Egy kicsit bonyolultra sikeredett , de minden gombnyomásra csak egyszer fut le az "utasítás"
A hozzászólás módosítva: Nov 25, 2012
(#) watt válasza kaqkk hozzászólására (») Nov 25, 2012 /
 
Ezzel az a gond, hogy nincs prellmentesítés és ha a fő programszálban elidőzik a program, akkor nem veszi észre, hogy megnyomtad a gombot. Vannak olyan feladatok, amire ez a megoldás is elég, mert ha kiteszed megszakításba a figyelést, akkor az második kritériumomnak megfelel, de az elsőnek nem és még egy jó párnak sem.

Gondolj egy érték léptetésére(egyelőre felfelé). Csak egy gombra koncentrálj első körben. A léptetendő értéket egyesével lehessen léptetni, de ha a gombot folyamatosan nyomva tartod, akkor egy hosszabb idő után léptesse az értéket a gomb elengedéséig egy gyorsabb ütemben. Az is feltétel, hogy ha a gombot egy időn belül elengeded, akkor azt ne fogadja el megnyomásnak(prell mentesítés).

Köszönöm, hogy foglalkozol a kérdéssel és beszálltál a játékba!
A hozzászólás módosítva: Nov 25, 2012
(#) kaqkk válasza watt hozzászólására (») Nov 25, 2012 /
 
Itt egy újabb , ez már "léptet is "
A hozzászólás módosítva: Nov 25, 2012

gomb.fcf
    
(#) watt válasza kaqkk hozzászólására (») Nov 25, 2012 /
 
Alakul! Mi van az int számlálóval, ha nem nyomod meg a gombot? Túl fog menni 3000-en, nem? De ez még mindig nem az amire gondoltam.

Több mindent meg lehet csinálni a megszakításban. Azok a programrészek, amik változtatnak egy értéket, összehasonlítanak, elágaztatnak stb. nem tartanak sokáig. Csak várakozni tilos(pl. delay, ciklusok, stb.).
Jó prellkezeléshez 180Hz körüli érték kell. Persze a gombkezelést nem kell ilyen sűrűn megnézni, de a prellhez kell, hogy finoman tudj hangolni. Több folyamatszámláló kell, több jelző...

Ki tudod próbálni ezt áramkörön? Ott minden hiányosság kiderül, mert a szimuláció nem tudja visszaadni a valóságot ilyen rutinoknál.
(#) watt válasza watt hozzászólására (») Nov 25, 2012 /
 
Még annyit, hogy egy megszakítási rutint nem illik meghívni kívülről. Valamint nem elegáns GOTO-t használni(ugrást). Meg lehet oldani nélküle is, és sokkal áttekinthetőbb lesz a program.
A hozzászólás módosítva: Nov 25, 2012
(#) kokozo válasza watt hozzászólására (») Nov 25, 2012 /
 
Nekem is van erre egy verzióm bár biztos van egyszerűbb is! Ez figyeli meddig van lenyomva a gomb lehet 1-esével léptetni lehet állítani mikortól kezdjen el futni lehet állítani mennyi legyen a perl idő.

gomb.fcf
    
(#) watt válasza (Felhasználó 15355) hozzászólására (») Nov 25, 2012 /
 
No ez már jó megközelítés! Most már csak csinálja azt, ami a házifeladat volt. (Lenyomva tartáskor egy hosszabb idő után kezdje magától léptetni).

És próbáljuk egy gombbal egy változó értékét növelni, hogy egyszerűbb legyen értelmeznem, mert már látom, hogy mire vállalkoztam. Ti ügyesen megírtok egy programot, én meg nem győzöm megérteni!
(#) kaqkk válasza watt hozzászólására (») Nov 25, 2012 /
 
A hibákat javítottam ?

gomb.fcf
    
(#) watt válasza kokozo hozzászólására (») Nov 25, 2012 /
 
Szia! Ez ügyes megoldás, nagyon közeli annak, amit én vártam, talán még jobb is, mert azonnal reagál a megnyomásra. A legtöbb esetben a prell ideje előtt nem fogadunk el jelet, de te azt figyeled, hogy két gombnyomás között mennyi időnek kell eltelnie. Kicsit sok lépésben oldod meg, de végül is jó megoldást adtál, gratulálok!

Annyit kritikának, hogy mindent a megszakításban végeztél el a kijelzést kivéve. Ez nem nagy baj, csak nem lesz univerzális a rutin. Ezt jelzőkkel lehetne univerzálissá tenni. Érdemes különválasztani a gomb megnyomásának tényét jelző rutint, ami mehet a megszakításban, és a lekezelését, ami már a fő cilusban kezelődik le. A lekezeléskor érdemes törölni is a gomb megnyomását jelző jelzőt!

Többieknek jelzem, hogy másképp is meg lehet oldani, nincs még lezárva a kérdés, ha van még kedvetek hozzá!
(#) watt válasza kaqkk hozzászólására (») Nov 25, 2012 /
 
És másokat tettél bele!
Megszakítási rtuinban nem szabad LCD kijelzést tenni, se más időigényes dolgokat.
(#) watt válasza (Felhasználó 15355) hozzászólására (») Nov 25, 2012 /
 
Ez már majdnem azt csinálja, amit kell! Egy a baj vele, hogy egyesével nem tudom léptetni a LED-eket(állítottam a Timeren, úgy derült ki), csak nagyon trükkösen(gyorsan fel kell engedni a gombot,(átállítottam nyomógombra közben)). A másik észrevételem azonos kokozo-éval, hogy nem különül el az esemény lekezelése(számláló növelés) a gomb figyeléstől. Ez utóbbi nem lehet kifogás, természetesen, de érdemes e felé gondolkodni.
Neked azért ilyen sok a blokk, mert két gombbal is foglalkozol.
A hozzászólás módosítva: Nov 25, 2012
(#) kokozo válasza watt hozzászólására (») Nov 25, 2012 /
 
Béta verzió

gomb.fcf
    
(#) watt válasza (Felhasználó 15355) hozzászólására (») Nov 25, 2012 /
 
Az arányokat próbáltam érzékelni a szerint sokáig kell nyomva tartani, majd amikor elkezdi léptetni, már nem hagyja abba, hacsak gyorsan el nem engedem. Csatoltam a módosított, még is változatlan kódodat.

gombi_2.fcf
    
(#) pjg válasza watt hozzászólására (») Nov 25, 2012 /
 
Mint már írtam, kezdő vagyok. Ti több klasszissal előttem jártok. Egy ideje már csak Befogadom az infót. Tanulok. Hozzászagolni sem tudok.
(#) watt válasza kokozo hozzászólására (») Nov 25, 2012 /
 
Már az előbb is elfogadtam jó megoldásnak, most már belekötni sem lehet!
Még szerencse, hogy nem pont olyan, mint az enyém, mert a végég azt hihetnétek, hogy veletek íratom meg a tökéletes gombkezelő rutint!
Ha nem veszed sértésnek(manapság nem trendi dícsérni valakit, mert azt hiszik hátsó szándéka van a dícsérőnek), szép és jól átgondolt a stílusod! Köszi, hogy részt vettél a vasárnap délutáni játékokon!
(#) watt válasza pjg hozzászólására (») Nov 25, 2012 /
 
Semmi gond, ez az egész érted is van, meg a jó játékért! Már egy nagyon jó példát láthattál, illetve kettőt!
(#) watt hozzászólása Nov 25, 2012 /
 
Most el kell mennem, este felteszem az ötletadó rutint cincálásra, véleményezésre. Addig is, ha van kedv, várom a megoldásokat! Köszönet!
(#) watt válasza (Felhasználó 15355) hozzászólására (») Nov 25, 2012 /
 
Tényleg! Ez a megoldás is elfogadható, pont úgy működik, ahogy kell és ha csak egy gombra számolom a blokkokat, akkor nem is sok a számuk. Gratula!
(#) pjg válasza watt hozzászólására (») Nov 25, 2012 /
 
Az egyiknek az a hibája, hogy hosszan lenyomva a gombot kettőt számol, majd leáll. A gombot elengedve még egyet számol.

A másiknál hosszan nyomva a gombot szépen számol, de elengedés után még beszámol 2-őt.
(#) kokozo válasza pjg hozzászólására (») Nov 25, 2012 /
 
Gondolom az enyém a 2. A ha végignézed a programot látni fogod miért számol még 2-t. Azért hogy a szimulátorban is lehessen tesztelni ne csak proteusban. Gyakorlatilag ha a felenged értékét 10 vagy az alá veszed hibátlanul működik csak a szimulátorban nem tudsz olyan gyorsan gombot nyomkodni mint kellene ezért lett 100 beállítva. a legtöbb esetben még a 10 is sok lehet nem hogy a 100! Próbáld ki úgy is hogy átállítod a felenged > 100 felenged > 10-re.
(#) kaqkk válasza watt hozzászólására (») Nov 25, 2012 /
 
A kijelzést csak a teszt kedvéért tettem bele , hogy megfigyelhető legyen a megszakítás .
(#) watt hozzászólása Nov 25, 2012 / 1
 
Ezennel eredményhírdetést tartok, mindenki nagyon jól dolgozott és nagyon hasznosan töltötte az időt. Nyeremény a tudás, amit szereztünk.
Csatolom azt a megoldást, ami egyike a sokaknak. Aki kevesebb lépésben megoldja, külön tudásbónuszt szerezhet(magának). Aki hibát talál benne, szintén.
Ha ez tetszett nektek, szerintem érdemes lenne hasonlókat rendezni. Mindenkinek köszönöm a részvételt és kérem ha még van ez ügyben újabb ötlet, ne tartsátok magatokban!
(#) pjg válasza watt hozzászólására (») Nov 25, 2012 /
 
Én nyertem a legtöbbet. Köszi nektek.
(#) pjg válasza watt hozzászólására (») Nov 25, 2012 /
 
Most jön a kibic kérdése. Mi van akkor, ha 4 ilyen gombot akarok üzemeltetni?
(#) watt válasza pjg hozzászólására (») Nov 25, 2012 /
 
Négyszerezed saját változókkal.
(#) watt válasza (Felhasználó 15355) hozzászólására (») Nov 25, 2012 /
 
Én nem az a tudós vagyok, én kicsivel írom.
(#) pjg válasza watt hozzászólására (») Nov 25, 2012 /
 
No megint nem alszom!
Következő: »»   94 / 360
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