- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S23 Ultra - non plus ultra
- One mobilszolgáltatások
- Vékonyabb lett, jobb kamerát kapott, de az akku maradt a régi: itt a Fold7
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- MIUI / HyperOS topik
- Azonnali navigációs kérdések órája
- Motorola Moto G56 - bátyja árnyékában
- Xiaomi 15 - kicsi telefon nagy energiával
- Apple iPhone SE - se vele, se nélküle
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
JulianSinulf
őstag
Köszi!
Akkor az EEPROM-ba nagyon sok chip elfér, emiatt nem kell aggódnom.Akkor már csak az a kérdés, hogy lehetne ezt megfelelően leprogramozni.
Az elképzelés:
Fut egy alapprogram, mely a beléptetést vezérli. Ami kódokat most néztem, az alapján ez elég egyszerű, mert, ha nincs mit leolvasni, akkor a program mindig visszatér a leolvasáshoz. (Ez volt az egyszerű.)
Ide be lehetne tenni egy olyat, ha lenyomok egy gombot és "nyomva tartom", akkor a program továbbfut a kódbeírás részére.
Illetve, ha valaki megnyomná a csengőt, akkor a kód a dallamos részre ugorna.
Ezek az ugrálások már nem annyira egyszerűek, de a 2WD autó kódjából talán ki tudom hámozni a nekem kellő sorokat.
Chip felvitel:
Szóval megnyomtam a gombot, a kijelzőn megjelenik a "Bevitel" felirat és várja a chip odatartását. Esetleg egy 10s visszaszámlálással, mert hiába nyomom folyamatosan a gombot, az úgyis csak akkor számít, mikor a kódban a lekérdezése sor hajtódik végre.
Ha nem olvas be semmit, akkor 10s után visszatér az alap programhoz. Először azért gondoltam a gomb nyomva tartása opciót, mert akkor nincs szükség erre az időzítésre.
Ha sikerül a beolvasás, akkor kiírja az UID-t, majd egy újabb leolvasást kér és a két eredményt összehasonlítja. Ha megegyezik, akkor beleírja az EEPROM-ba az értéket.
Ami kérdéses számomra, hogy tudom megoldani a visszaszámlálást, miközben a chip-et is be kellene olvasni. És amikor olvasás történik, akkor a visszaszámlálás értelemszerűen leállna. Vagyis a processzornak egyszerre két feladatot kellene ellátnia.
Majd a másik kérdés, hogyan tudom beleírni a kapott eredményt az EEPROM-ba úgy, hogy egy következő chip bevitele ne írja felül akkor sem, ha újraindulna a program (áramszünet, reset).
Beléptetés:
Az EEPROM tartalmát megfelelően ki kell olvasni és eltárolni. Ez lesz összehasonlítva a belépéshez használt chip adataival. Viszont, ha nő a chip-ek száma, akkor a tárolók számát is növelni kell.
Úgy emlékszem erre is van valamilyen megoldás.
A másik megoldás, hogy egy tárolót használok és minden beléptetésnél ebbe a tárolóba olvassa ki a tárolt értékeket addig, míg az egyikkel egyezés van és beléptet vagy a végére érve nem enged be. Értelemszerűen nem akarok 128 UID értéket kiolvasni, ha csak 1, 2, 3, stb. van eltárolva.
Nem tudom, hogy időben ez mit számítana, gyanítom, hogy nem sokat pár chip esetén.És így visszaolvasva az írtakat eszembe jutott, hogy kellene egy törlési rész is. Mert, ha elhagynám a chip-et, akkor nem lenne jó, ha benne maradna a programban.
Akkor viszont sorszámozni kell az UID-ket az EEPROM-ban, hogy törlésnél egyszerű legyen kiválasztani a megfelelőt és olvasásnál értelemszerűen az üreseket kihagyni, de ott nem megállni. Vagyis mégis csak végig kell olvasni az EEPROM-ot.
Hacsak nem lehetne eltárolni az EEPROM egy részén, hogy mennyi chip van felvíve. Ez egy szám lenne. Bevitelnél nőne, törlésnél csökkenne az értéke egyel. És a program csak addig olvasná az EEPROM-ot, míg el nem éri ezt a bizonyos értéket.Így végigolvasva, hogy mit is szeretnék, nagyon szép, de sokkal egyszerűbbnek tűnik, hogy a kódban adom meg az engedélyezett chip-eket és, ha bővíteni kell, akkor bővítem a kódot és újraprogramozom az Arduino-t. Ha meg törölni kell, szintén ugyanez.
Az UID leolvasásához meg:
a) fenntartok egy külön erre a célra készült olvasót (nem valószínű),
b) kiolvasom a meglévő chip-eim adatait és ezt eltárolom megfelelően, így később nem kell már a kiolvasással bajlódnom (új chip vásárlása esetén bukta a dolog, de jelenleg van vagy 10 darab),
c) ha a chip nincs a programban, akkor kiírja az UID-t a kijelzőre. Azt fel tudom írni vagy lefényképezni és be tudom vinni gépen a kódba, majd a gépet az ajtóhoz vinni és felprogramozni helyben (ez a legesélyesebb tekintve, hogy nem számítok túl gyakori módosításra).Várom a javaslatokat, észrevételeket, ötleteket, hibákat a gondolatomban!
Új hozzászólás Aktív témák
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Windows 11
- Építő/felújító topik
- Horgász topik
- RETRO beárazás (mobil, PC, konzol)
- Apple asztali gépek
- Sorozatok
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- További aktív témák...
- i7-13700 / Z790 / 16 GB DDR4 / 256 GB SSD / 4 TB HDD / RM750X félkonfig
- Dobozos Új gamer MSI Katana 15 /i7-12650H/16GB/1TB SSD/RTX 4070 8GB GB/144Hz/Gari
- Huawei Watch Fit 4 Pro 3 év garancia, Huawe Freebuds 2
- Xiaomi Redmi 14 PRO 5 G 8/256 DUAL garanciával
- Dell Precision 7670 FHD+ i9-12950HX 16C / 64G D5 / 1T G4 / Quadro RTX A4500 16GB / HU vb Pro tervező
- Epson Workforce DS-530II Dokumentum szkenner
- AKCIÓ! MSI Z790 i5 14600KF 64GB DDR5 512GB SSD RTX 3070 8GB Rampage SHIVA Enermax 750W
- Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730,
- BESZÁMÍTÁS! Gigabyte A520 AORUS R5 5500 16GB DDR4 512GB SSD RX 6600 XT 8GB Rampage SHIVA TT 500W
- 35" ASUS ROG Swift PG35VQ curved GAMER monitor
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest