Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Ugye alapvetően arra kell vigyázni, hogy az Arduinó és a eeprom ne egy kimenetre dolgozzon egyszerre. Erre különösen ügyeltem.
A címbuszra a következő tesztértékeket küldtem: 0,127,256,511,1024,2048,4096,8192,10384,16385,32767 Tudom kevesebb variáció is elég lett volna... Mindegyik érték tökéletesen megjelent a címvezetékeken. Ezek rajta is maradnak a setAdress() parancs után. Az output enable mindig olyan érték, ami volt előtte, és olyan is marad. Tehát, ha olvasás volt akkor output módban van. Ilyenkor az oe-0-át vesz fel, ha nem az volt előtte. A write enable ilyenkor magas szinten van mindvégig. Megmértem. Írásnál, ugye átállítódnak inputra az arduinó kimenetei, ilyenkor nem a kiírt adat olvasható rajta, hanem az eeprom kimenete, amikor mind a 8 bit 1-es, és sajnos az soha nem is változik... Megnöveltem a delay értékét, és mérhető volt, mikor a write enanle leváltott nullára, majd vissza. Két napja méregetem, tanulmányozom a dolgot, egyszerűen nem értem, miért nem jó... Lehet pár kondenzátort előhalászok... A hozzászólás módosítva: Ápr 1, 2021
Igen, arról beszéltem....
Ha van másik EEPROM-od, érdemes lenne azzal is próbálkoznod..., vagy esetleg valami olyan azonosítót lekérdezni, ami nem függ adatvédelemtől! Elvileg kell lennie benne valami ID-nek.... rég foglalkoztam ilyesmivel...
Mit is szeretnél pontosan?
Mielőtt sdrlab javaslatát kipróbálod, tegyél 100..220nF kerámia kondenzátorokat az U2, U3 és U4 táp és GND lábai közé, minél közelebb az IC-khez.
A EEPROM írásvédett a tápfesz rákapcsolása után tipikusan 5mS-ig, mielőtt nekiállsz írni érdemes várni 10mS-et.
Arduino unom van. Nextion editorban a debug funkcióval szimulálni a projektet. (kijelzőm nincs)
Ahogy írtam, a 3 LED-es dolgot megcsináltad? A címbusz megfelelő működése az EEPROM nélkül is ellenőrizhető, az EEPROM majd csak az írásnál kell, de előbb azt is lehet ellenőrizni nélküle.
De magát az EEPROM-ot is ellenőrizheted egy dugaszolható boardon, csak jó sok vezeték kell hozzá. Azt is megpróbálhatod, hogy az írást 2 lépésben végzed el. Először olvasod az adott címet, majd utána írod ugyanazt, valamint beállítasz egy késleltetést, hogy csak az OE jelnek határozottan megnőjön az ideje. De kipróbálhatod az OE manuális állításával is. Elvileg működnie kéne.
Szerintem led nélkül is tudom mérni az 5V-ot és a 0 V-okat. Lelassítottam az egész algoritmust, hogy kb. 1 másodpercenként lép egyet. Semmivel nem vagyok előrébb. De szerzek egy ilyen próbapanelt, mint a videón kölcsönbe, és kipróbálom azon az eepromot, hogy bármire reagál-e. Ha lenne ilyen romom még másik, akkor már rég megtettem volna, hogy tesztelem, összehasonlítom, de így is 1 éves huzavona volt mire megrendeltem ezt. Egyszerűen minden más projektem beállt emiatt, és nem értem, hogy ha ott a cím, ott a write enable nullán, az output meg tiltva, akkor miét nem tárolja el az eeprom a megadott címen a ráadott értéket Nincs sebesség ráér, minden mérhető tök jól. Csak vissza nem jön csak mindenütt 1, azaz 255 illetve FF. Köszönök minden segítséget, de kb. most vagyok ott, hogy előbb hiszek abban, hogy lapos a föld, mint, hogy ebből az eepromból bármi információ kijön...
Nano-d van? Annak a d13 pinje kicsit macerás lehet. Az éppen az enable pin neked. Azt írják, hogy több esetben macerás lehet ennek használata. Tegyél fel egy kapcsolót, vagy fixen logikai 1-nek megfelelő feszültséget erre a pinre, írj rá, majd ártalmatlanítsd, szedd le róla a feszt, (húzd le 0-ra) és olvasd ki. Magyarán kerüld meg egy írásra ezt a pint, hátha ez a probléma. Lehet arra a kis időre, míg ez logikai 1-n van, leesik a fesz a led, meg az ellenállás miatt, vagy más gond van vele. Amúgy ez az eeprom 5V-os? Íráskor nem vesz fel áram tüskéket?
De nem vagyok szaki, de látom te azért vágod ezt a témát! A hozzászólás módosítva: Ápr 3, 2021
Zárójelben jegyzem meg, hogy ilyen jellegű problémákat logikai analizátorral negyed óra (de max. 60 perc) leforgása alatt be lehet határolni. 1500 Ft Kínából, de itthon is vásárolható 5.000 Ft környékén.
Érdemes beszerezni egyet.
Köszönöm szépen a segítséget! Kipróbálom amit mondtál, hátha bejön, csak átgondolom a sorrendet! Mert mondjuk beállítom a programot írásra, és mondjuk írok csak, aztán meg csak olvasok, a következő feltöltés után. A megfelelő lábakat meg mindig olyan szintre hozom, amilyenre kell. Ha csak egy címnél is sikerülne, menteni betölteni, akkor már jó a dolog.
Még egyszer köszi mindenkinek! (dehogy vágom a témát, életem legelső eepromját szeretném megírni...) A hozzászólás módosítva: Ápr 3, 2021
A legegyszerubb teszt egy probapanel es kb 5 perc alatt (beleertve a doksi olvasast is) kivitelezheto.
Nezd meg alaposan az E(E)PROM adatlapjan az iras (es olvasas) idoziteset, gyakorlatilag ott van feketen-feheren mikor es melyik labnak hol kell lennie. Szeritnem valamit tul koran (vagy tul keson) huzol nullara vagy allitasz 1-be.
Sziasztok!
Van egy olyan gondom, hogy a mikrovezérlő nem tudja egyszerre kezelni az INT0 bemenetre kötött 433MHz modult és az analogWrite() utasítást. A jelenség úgy néz ki, hogy ha a pwm kimenetre kötött led fényereje a pwm jel értékének megfelelő fényerővel világít, tehát ez a funkció működik. Ezzel egy időben viszont a 433MHz modul felől semmilyen jel nem érkezik be. Hogyan lehet orvosolni ezt a problémát?
Ilyen esetben célszerű egy programkódot mellékelni, mert az orákulumok éppen szabadságukat töltik.
Addig is itt egy puska, hátha ki tudod nézni belőle ami érdekel: Bővebben: Link A hozzászólás módosítva: Ápr 4, 2021
Első körben arra lettem volna kíváncsi, hogy a kettő üti-e egymást?
Alapvetően az a gond, hogy ha az analogWrite() utasításban nem 0 vagy 255 értéket adok ki, hanem pl. 90-et, mint ahogy most is van a kódban, akkor az első jel beérkezik az rf modul felől, utána több nem. Az rf modul jelfeldolgozása kifogástalanul működik, azzal biztosan nincs baj. Valami más a gond, de még nem jöttem rá. A hozzászólás módosítva: Ápr 4, 2021
Az az érdekes, hogy amikor a 82. sorban lévő (millis() - previousMillis >= interval feltétel teljesül, akkor ismét érkezik egy jel az rf modultól, de csak egy és utánna süket.
Rossz a feltétel! Mert nem biztos, hogy pont eltudod kapni, vedd ki = jelet:
A >=-nél, ha nagyobb, ha egyenlő végrehajtódik a feltétel utáni utasítás. Frissíteni nem akarom ezen a ponton, mert egy bekezdéssel korábban van egy
Te tudod mit akarsz, én csak nem értem!
Ha nem frissíted previousMillis -t Akkor ezután minden körben teljesül a feltétel: if ((millis() - previousMillis >= interval) || (Start)) És folyamatosan ismétlődik. Ezt akarod?
Amig handleInterrupt() megszakításban vagy addig más megszakítás nem működik!
Ezért handleInterrupt() belül hiába hivod: microst() mert le van tiltva a megszakítása ami növelné az értékét. unsigned int duration = micros() - lastTime; //jel időtartam számítás lastTime = micros(); Ez az AVR-ek átka! A hozzászólás módosítva: Ápr 5, 2021
Az etedeti rcswitch könyvtárban is a megszakításban hívja meg a micros()-t és működik, nekem is működik, csak akkor nem, aminor kiadom az analogWrite() utasítást.
Lehet én tévedek, de az Editor szimulátora nem tud soros portról adatot fogadni.
Tudod a kijelző programját tesztelni kijelző nélkül, a szimulátorba beírt adatokkal amit úgy értelmez mintha a soros porton érkezne, vagy rákötheted a kijelzős is a soros protra és akkor ott is láthatod az eredményt...
Sziasztok!
Az van, hogy van egy PRO MICRO (m32u4 hestorból) lapocskám, amire Arduino IDE-vel feltöltöttem egy progit...._Az most lényegtelen, hogy mit... Az a kérdés, hogy avrdude progival hogyan tudom letölteni róla a code-t duplikálás véget? azAz alábbi kódót használtam: avrdude -p m32u4 -P com6 -c arduino -U flash:r:prog.hex:i próbáltamPróbáltam más programozót használni avr109...avrisp.... semmi A fenti parancsra nem történik semmi...._csak áll, és néz felém comtrolC vel Control + C-vel tudom megszakítani Mi a hiba? Help nekem légy szívesLegyetek szívesek segíteni! Köszönöm Szisz (Ez vajon mi akarna lenni?) A hozzászólás módosítva: Ápr 8, 2021
Moderátor által szerkesztve
Nem "pont" válasz...
Az arduinó beállításaiban a bővített listázást, így ha lefordítod az eredeti programot, akkor utána látod honnan/mit süt be, azt a parancsort meg a hex fájlt onnan lemásolod, és bármikor tudod programozni, szaporítani. Persze ha az eredeti arduinó kód nincs meg, akkor ez nem megoldás
Szia
Pont ez a bajonbajom, hogy nincs meg a kód, és igyígy az arduino-ról kellene valahogy lecsalni a progit. vanVan ötlet ?ötlete valakinek? Köszönöm. A hozzászólás módosítva: Ápr 8, 2021
Moderátor által szerkesztve
Zavaros a történeted! Azt írtad, te töltötted fel a programot az Arduino-ra! Ezek szerint meg volt akkor hozzá a program. Gondolom, most okkal nincs meg a kódja - mert az nem a tiéd!
Az említett arduino lapot nem ismerem, de a legtöbb MCU-n bekapcsolható a kódvédelem. Ha ez aktív, akkor kb. semmilyen módszerrel nem lehet kiolvasni belőle a kódot.
Ha nem aktiválták, a forrásprogramot akkor sem. Max a hex. kódot ...
|
Bejelentkezés
Hirdetés |