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   685 / 839
(#) Skori válasza Egri Frédi hozzászólására (») Ápr 8, 2021 /
 
Duplikáláshoz ill. sokszorosításhoz elég a bináris formátum is. A forrás visszafejtése nyilván már jóval macerásabb lenne, de...
Annak idején, még a DOS/Win9x időszakban PC-re volt olyan program, ami egy .com vagy .exe fájlból forráskódot tudott készíteni, méghozzá úgy hogy az elkészített forrást még kommentezte is. Nyilván ennek semmi köze az arduinohoz, csak arra akartam utalni, hogy ez sem lenne lehetetlen feladat, csak nehéz...
A hozzászólás módosítva: Ápr 8, 2021
(#) proli007 válasza Skori hozzászólására (») Ápr 8, 2021 / 1
 
Hello! "egy .com vagy .exe fájlból forráskódot tudott készíteni, méghozzá úgy hogy az elkészített forrást még kommentezte is."
Ez azért számomra elég futurikusan hangzik. Én írtam anno disasm programot 8048-ra, de még az is gondot okoz, hogy egy táblázatot felismerj benne és ne programnak fordítsd le.
Nem hogy kommentezze azt amire a programíró gondolt amikor írta. Mert a komment leginkább arra való, hogy ne nézze az ember a saját maga által írt programot bután fél év elteltével..
(#) pipi válasza proli007 hozzászólására (») Ápr 8, 2021 /
 
Volt ilyen.... És nagyon jó volt... Lehetett mellé "csinálni" egy text fájlt, abban utólag meg lehetett mondani az adatterületeket és programterületeket, adott címhez lehetett kommentet rendelni, cimkék neveit meg lehetett adni. Ebből a szempontból "többmenetes" volt. Disasm után a böngészve az asm fájlt, amit a kis kúteszünkkel felismertünk, beírta az ember, majd újra futtatva a disasm-ot, már eszerint cimkézett, fordított. Szuper volt .
Itt egy rövid x86 minta, ASM: a disasm outputja(lehet már kézzel is belenyúltam utólag) SDF: a disasm configurációs szövegfájlja.
Emlékeim szerint mintha hasonlót láttam volna z80 vagy intel 8080/85-re...
(#) cua válasza proli007 hozzászólására (») Ápr 8, 2021 /
 
Anno a virusokat byte-rol byte-ra elemezve fejtettuk vissza, en nagyon szerettem csinalni, igazi kihivas volt nemelyik.
(#) Vacok válasza kapu48 hozzászólására (») Ápr 8, 2021 /
 
Arra az érdekes jelenségre lettem figyelmes, hogy ha a PWM kimenetre rá van kötve a led egy tranzisztoron keresztül, akkor produkálja azt, hogy nem működik, nem veszi a jelet az RF modul felől. Ha a ledet leakasztom a PWM kimenetről, akkor minden működik rendesen, érkeznek a jelek az RF modultól és folyamatosan növeli a PWM jel kitöltési tényezőjét.
Mitől lehet ez, hogy a PWM kimenet terhelésekor nem képes feldolgozni az RF modul felől érkező jeleket?
Az is érdekes, hogy ugyanez a program egy MOSFET meghajtású led szalaggal gond nélkül működik.
A hozzászólás módosítva: Ápr 8, 2021
(#) tbarath válasza Vacok hozzászólására (») Ápr 8, 2021 /
 
Mekkora az ellenállás a tranyó és a PWM kimenet között?
(#) Vacok válasza tbarath hozzászólására (») Ápr 8, 2021 /
 
1k, de 10k-val is ugyanez a helyzet. Egy mmbt2222a tranziszor van a kimeneten, amin kb. 60mA folyik át.
(#) sdrlab válasza Vacok hozzászólására (») Ápr 8, 2021 /
 
Talán zavarod az RF modul működését a PWM impulzusaival....
(#) Skori válasza proli007 hozzászólására (») Ápr 9, 2021 /
 
Annyival egészíteném ki a többiek válaszát, hogy ez a program felismerte a kódban a szoftver és hardver megszakításokat, és a különféle DOS/WIN9x rendszerhívásokat, és azok regiszterbeli paraméterezését is. Mivel a programok nagy része sok standard rendszerhívást használ (képernyőre íráshoz, fájlműveletekhez stb...) ezért ezeknél a kommentbe odakerült valami olyasmi, hogy pl.://fájl megnyitása olvasásra, fájlnévre mutató pointer a CX:DX regiszterekben (persze angolul) A programban meghívott belső függvényeket (ill. szubrutinokat) is felismerte, az ilyen rutinhívásokat is kommentezte, bár nyilván nem a függvény funkciója alapján (ezeket csak az oprendszer függvényeinek hívásakor ismerhette).

Amennyiben mondjuk egy arduinora kellene visszafordító programot készíteni, az ugyanígy felismerhetné a gyári függvényhívásokat. Tehát pl. egy sprintf() hívása esetén nem kellene a neki megfelelő kódot betenni a visszafordított fájlba, hanem ténylegesen odatehetné helyette
a forrásba a sprintf() függvényt. Amennyiben pedig a formátum paramérterei konstansként vannak megadva, akkor kommentezheti is mellé, hogy most éppen egy decimális számot fogunk karakterlánccá konvertálni vele.
A hozzászólás módosítva: Ápr 9, 2021
(#) Egri Frédi válasza proli007 hozzászólására (») Ápr 9, 2021 /
 
Valóban létezett ilyen "visszafordító" program. Én magam is kipróbáltam egy "Béta" verziót, Clipper -hez lehetett használni. Meglepően hűen adta vissza az .exe állományból a forráskódot. Rövidebb progiknál ( 5 - 10 kB, ami egy Clippernél csak pár oldalnyi forráskódi program !!! ) akár a 95 - 99% - os pontosságot hozta. Egyetlen óriási baja volt, hogy csak ahhoz a fordítóhoz lehetett biztonságosan használni, amelyik verzióra készült. Mivel nekem/nekünk akkor volt vagy 3 féle ( 5.0 - 5.5 - és talán 6.0 ) nagy hasznát nem vettük. Sok mintaprogram korábbi verzióban készült, aminek nekieresztve adott vissza ''eredményt", de az alig volt használható valamire. Pedig néha olyan jó lett volna tudni: Na, ezt hogyan csinálták ???

Arduino -nál viszont ilyenről még hallani sem hallottam. Pedig néha de jó lenne tudni: Ezt, ugyan hogy csinálták ?

Ha valakinek van tudomása ilyenről, kérem dobjon egy üzit nekem is ! Köszönöm.
(#) Vacok válasza sdrlab hozzászólására (») Ápr 9, 2021 /
 
Most már sikerült rájönnöm. Eddig azt gondoltam, hogy szoftverhiba okozza problémát, a micros() és az analigWrite() függvényeket vezérlő timer-en keresztül, de nem. Ha a tranzisztor bázisa helyett egy leted kötök a pwm kimenetre, akkor minden működik. Esetleg arra valami ötlet, hogy hogyan tudnám orvosolni a helyzetet?
(#) sdrlab válasza Vacok hozzászólására (») Ápr 9, 2021 /
 
A látnokok még mindig szabadságon vannak! )
Mutasd a kapcsolási rajz ezen részét....
(#) mnyugger válasza Egri Frédi hozzászólására (») Ápr 9, 2021 /
 
A Clipperben "fordított" .exe program tartalmazza a forrásprogram tokenizált változatát és magát a valósidejű fordító programot.
(#) Josi777 válasza Vacok hozzászólására (») Ápr 9, 2021 /
 
Soros áramkorlátozó ellenállással. Ahogy a kolléga is említi, önkéntes "látnokként" gondolom így
Kapcsolási rajz nélkül nem lehet egyértelmű választ adni.
(#) vargham válasza Vacok hozzászólására (») Ápr 9, 2021 /
 
Áramkorlátozás nélkül nem egészséges mikrokontrollerről tranzisztort hajtani.
De ide elég lenne egy kapcsoló FET is.
(#) Vacok válasza sdrlab hozzászólására (») Ápr 9, 2021 /
 
Így néz ki a vevő kapcsolási rajza.
(#) GPeti1977 válasza Vacok hozzászólására (») Ápr 9, 2021 /
 
Ez így teljesen jó, esetleg a tranzisztor bázis és föld közé rakhatnál egy 100nF körüli kondenzátort, akkor nem lennének akkora meredek kapcsolójelek amik zavart termelnek.
(#) sdrlab válasza Vacok hozzászólására (») Ápr 9, 2021 /
 
Azokat a 33 ohmos ellenállásokat ugye viccnek szántad?!!

Érdemes lehet még az RF modul tápjába egy leválasztó kis soros ellenállást/induktivitást is tenni a 100nF-en túl....
(#) GPeti1977 válasza sdrlab hozzászólására (») Ápr 9, 2021 /
 
Igen, normál led esetén 330 ohm
(#) Vacok válasza sdrlab hozzászólására (») Ápr 9, 2021 /
 
Nem, a 33 ohm nem vicc. Tranzisztoronként kettő darab 60mA-t igénylő led van rajta, így összesen 120mA. Még így is fele akkora az átfolyó áram, mint az adatlapjukon közölt
A hozzászólás módosítva: Ápr 9, 2021
(#) sdrlab válasza Vacok hozzászólására (») Ápr 9, 2021 /
 
Az ok, hogy talán a LED kibírja azt az áramot, de gondolj már bele, milyen nagy meredekségű, nagy áramú impulzusok fognak ott szaladgálni a tápvonalon ekkora áramok esetén, miközben egy RF modul sok nagyságrenddel nagyobb érzékenységét akarod kiszolgálni...?!
(#) sdrlab válasza GPeti1977 hozzászólására (») Ápr 9, 2021 /
 
1k+100nF aluláteresztő szűrő után milyen PWM-ed lenne vajon?!!
(#) Vacok válasza sdrlab hozzászólására (») Ápr 9, 2021 /
 
Ok, értem, de akkor mit tudok tenni? Vagy bele kell törődnöm, hogy amit szeretnék azt mem lehet kivitelezni? Gondolom van rá megoldás, csak én elég hobbi szintű felhasználó vagyok.
(#) sdrlab válasza GPeti1977 hozzászólására (») Ápr 9, 2021 /
 
Te miről beszélsz?!!
(#) GPeti1977 válasza sdrlab hozzászólására (») Ápr 9, 2021 /
 
Mivel az időállandója egy nagyságrenddel kisebb mint a a pwm jel periódusa, így maradna a pwm jel, csak a négyszögjel nem termelne annyi zajt.
(#) sdrlab válasza Vacok hozzászólására (») Ápr 9, 2021 /
 
Van, persze!
Amiket javasoltam, lehet hogy már elég is...
Ha nem, akkor a LED-ek tápját helyileg sokkal masszivabban kell megszűrnöd, leválasztva a fő tápról.... 10...100µF kondi + 100nF + 1nF(NP0). És ennek a nagyáramú körnek, topológiailag a lehető legrövidebb utat kell bejárnia!
(#) sdrlab válasza GPeti1977 hozzászólására (») Ápr 9, 2021 /
 
Miért, 150Hz-es a PWM jele a kérdezőnek talán?

És akkor még nem beszéltünk a kitöltés spektrális összetevőiről, ami kis(vagy nagy) kitöltés esetén jóval nagyobb frekvenciájú, mint a periódusidő! Belegondoltál már abba, miféle PWM szabályozás lenne ezek után ebből?!!
A hozzászólás módosítva: Ápr 9, 2021
(#) Vacok válasza sdrlab hozzászólására (») Ápr 9, 2021 /
 
Értem, köszönöm.
(#) GPeti1977 válasza sdrlab hozzászólására (») Ápr 9, 2021 /
 
480 vagy 960 Hz az analogwrite használata esetén.
(#) Vacok válasza sdrlab hozzászólására (») Ápr 9, 2021 /
 
Sikerült működésre bírnom a vevőt. A táp ágba betettem egy soros 100 ohm ellenállást, ahogy javasoltad. Ettől még nem oldódott meg a probléma. Az RF modul tápján lévő 100nF kondenzátort kiegészítettem még egy 100µF kondival és így már hiba nélkül érkeznek a jelek az RF modul felől a mikrovezérlőhöz.
Következő: »»   685 / 839
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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