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   792 / 852
(#) SzilCsong válasza KoblogPerGyok hozzászólására (») Ápr 30, 2023 /
 
Most így eslő körbe nem megy, külön/külön, ha a másik 3 közös vezetékkét kikötöm, akkor oké, de együtt nem oké, ez majd holnapra marad.
Köszi az útmutatást.
(#) asch válasza KoblogPerGyok hozzászólására (») Máj 1, 2023 / 2
 
Arra vigyázni kell, hogy emlékeim szerint az SD kártya az 3.3V-os, és nem 5V toleráns. Az Arduino pedig többnyire 5V-os.

Az SPI úgy működik, hogy felhúzó ellenállás van rajta fixen és a csipek csak lefelé húzzák a vonalakat.

Biztonságosan úgy lehet a 3.3V-os klienst bekötni, hogy az Arduino-ra egy ellenálláson keresztül kötjük a közös vonalat, és egy a 3.3V-ra kötött diódával biztosítjuk, hogy ne menjen a vonal 3.3V(+dióda .3V-ja) fölé. A felhúzó ellenállást pedig a 3.3V-ra kötjük. Az összes klienst is persze érdemes egy áramkorlátozó ellenállással védeni attól, hogy esetleg egymással szembe húzzák a vonalat. Így működni fog. (Van ebben egy trükk: az Arduino a 3.3V-ot már biztosan magasnak érzékeli, legalábbis ATMEGA328 alapú Arduino esetén. Vannak csipek, amiknél ez nem így működik, azokkal bonyolultabb lesz a szintillesztés megvalósítása.)
(#) KoblogPerGyok válasza asch hozzászólására (») Máj 1, 2023 /
 
Köszi az infót!

Tulajonképpen nekem is ilyen gondom van, de nem foglalkoztam vele sokáig. PIC-nél eleve 3.3V-os minden, de a SPI nem akar összejönni egy RAM és DAC között. Láttam bizonyos megoldásokat, de nem indultak el. Meg a freki sem alacsony nálam, ezért torzulhat is a jel esetleg. Egy kis móricka rajzot tudnál küldeni arról amit mondtál, pl két SPI cuccra? De nekem minden 3.3V-on megy. Épp akartam a kérdezőnek mondani, hogy nálam eddig ment a dolog... De értem nagyjából. A diódás megoldást még nem láttam. A felhúzó ellenállások minden vonalra kell? SCK, MOSI,MIO, /CS? Meg a diódák is?

Köszönöm!
(#) Kovács Tibor hozzászólása Máj 1, 2023 /
 
Sziasztok!

Ki lehet olvasni USB-n keresztül egy már felprogramozott Arduino áramkörből hogy milyen program van feltöltve rá?
(#) Jonni válasza Kovács Tibor hozzászólására (») Máj 1, 2023 /
 
Szia!

Nem lehet.
(#) Kovács Tibor válasza Jonni hozzászólására (») Máj 1, 2023 /
 
És más módszerrel?
(#) Jonni válasza Kovács Tibor hozzászólására (») Máj 1, 2023 /
 
Úgy tudom, hogy sehogysem lehet. Sőt vannak olyan készülékgyártók akik felprogramozás után elégetnek egy szálat a kontroller belsejében hogy még biztosabb legyen a dolog.
(#) Jonni válasza Kovács Tibor hozzászólására (») Máj 1, 2023 /
 
Elveszett egy megirt programod?
(#) Kovács Tibor válasza Jonni hozzászólására (») Máj 1, 2023 /
 
Nem, csak már nem tudom melyik változat lett feltöltve.
Régebben PIC esetében ICSP csatlakozón lehetett csak kommunikálni, de ott oda/vissza működött a dolog - hacsak be nem volt állítva valami védelem a kiolvasásra...
(#) Jonni válasza Kovács Tibor hozzászólására (») Máj 1, 2023 /
 
Talán próbálkozott már valaki ilyennel de csak az egyesek és nullások jöttek vissza és nem tudták értelmezni mivel ez csak gépi kód volt, nem programnyelv mint PL a C++ .
(#) Jonni válasza Kovács Tibor hozzászólására (») Máj 1, 2023 /
 
Ha nem veszett el akkor könnyű dolgod van , csak vissza tőltöd amit használni szeretnél és kész.
(#) sargarigo válasza Kovács Tibor hozzászólására (») Máj 1, 2023 /
 
Előre mutató dolog lehet, hogy a jövőben kiiratod induláskor a verzió számot soros vonalon, és nem lesz ilyen gond. Nyilván most nem segít rajtad, de jó gyakorlat lehet.
(#) Jonni válasza sargarigo hozzászólására (») Máj 1, 2023 /
 
Én minden fontos változtatás után vagy más néven mentem el a programot vagy ugyanazt átnevezem mentésnél, de a te módszered is jó ötlet.
(#) sargarigo válasza Jonni hozzászólására (») Máj 1, 2023 / 1
 
Ennél én többet szoktam, csak most ez kapcsolódott! Minden mérföldkő elérésekor (bármilyen kicsi is az a mérföld) betömörítem az egész projektet, megy az archívumba. Ha fontos a projekt vagy nagy mérföld volt, akkor két külön eszközön. Aztán verziószám váltás, és lehet írni tovább. Eszköz alatt pedig a helyi merevlemezt értem meg a nast ami epedve várja hogy etessem
A hozzászólás módosítva: Máj 1, 2023
(#) SzilCsong válasza Kovács Tibor hozzászólására (») Máj 1, 2023 /
 
PIC-eknél, ha nincs beállítva a reed protect, akkor a hex-et ki lehet olvasni, nyilván ezzel se lennél előrébb, max rá lehetne írni egy másikra. Szóval, a legjobb esetbe is csak a hex lenne a kezedbe, abból pedig a kódot visszafejteni....
(#) sargarigo válasza SzilCsong hozzászólására (») Máj 1, 2023 /
 
Idézet:
„abból pedig a kódot visszafejteni”

Na az nem fehér embernek való!
A hozzászólás módosítva: Máj 1, 2023
(#) SzilCsong válasza asch hozzászólására (») Máj 1, 2023 /
 
két külön arduinoval csináltam egy SD kártya és egy RFID kezelő alkalmazást, ezt kell most egybe építeni. Tehát eddig se volt gond a feszültség szinttel. Egyébkét lehet, hogy két féle sd kártya shield van, az enyémbe van 3,3V-os stab ic, nem is működik 3,3V-on.
Az mosi,msio,sck lábakon 4V-ot mértem, ez esetleg a rfid-re lehet veszélyes, mert az viszont 3,3V-on megy, eddig nem volt vele gond...
(#) asch válasza Kovács Tibor hozzászólására (») Máj 1, 2023 /
 
Arduino UNO? Simán ki lehet, alapból nincsen ez ellen semmilyen védelem beállítva. A csip tud kiolvasás védelmet, de alapból nincsen bekapcsolva. Ezzel a paranccsal ki lehet elviled olvasni:
  1. avrdude -p m328p -P usb -c usbtiny -U flash:r:flash.bin:r
Forrás: https://www.evilmadscientist.com/2011/avr-basics-reading-and-writin...tents/

(A visszaolvasás az Arduino bootloader standard funkciója, alapból íráskor is mindig kiolvassa és visszaellenőrzi az eredmény.)

Az más kérdés, hogy mire mész vele? Elvben össze lehet hasonlítani azokkal a hexekkel amiket feltöltöttél rá, hogy melyik verzióval egyezik. Arra kell vigyázni, hogy a kiolvasáskor nem tudja, hogy mekkora volt a program, a teljes program EPROMOT kiolvassa, tehát a program utáni üres blokkokat, vagy akár szemetet is. Az egyezést tehát nem triviálisan egyszerű megkeresni. A beírt program formátuma hex, a kiolvasás pedig bin lesz, ezzel is számolni kell. Meg lehet csinálni persze, kérdés, hogy van-e értelme.
A hozzászólás módosítva: Máj 1, 2023
(#) asch válasza SzilCsong hozzászólására (») Máj 1, 2023 /
 
Idézet:
„Az mosi,msio,sck lábakon 4V-ot mértem, ez esetleg a rfid-re lehet veszélyes, mert az viszont 3,3V-on megy, eddig nem volt vele gond...”

Eddig nem volt vele gond... Lehet így is dolgozni, de célravezetőbb, ha az ember kikeresi az adatlapokat, hogy minek mi a tűrése, mit szabad rákötni és mindent az adatlap szerinti szabályos tartományban hajtani.
Az a baj azzal, ha nem felelünk meg pontosan az adatlapok által előírt szabályoknak, hogy a legrosszabbkor válik megbízhatatlanná a rendszer és nagyon nehéz debuggolni, hogy mi a baja.
(#) asch válasza sargarigo hozzászólására (») Máj 1, 2023 / 1
 
Erre való a verziókezelő: minden változáshoz írhatsz egy kis megjegyzést, hogy az mire volt jó, és szinkronizálhatod gépek között automatikusan. Évekre visszamenőleg minden sorra rá tudsz keresni, hogy melyik mikor és milyen megjegyzéssel került be. A jól működő verziókat megjelölheted, stb.
(#) asch válasza KoblogPerGyok hozzászólására (») Máj 1, 2023 / 1
 
Lerajzoltam ezt az egyszerű SPI szintillesztőt. Igazából pont ilyet még nem csináltam, úgyhogy csak egy tipp. Ha az SPI minden vonala alacsony aktív, akkor minden vonalára működik ez az összekötés amiből lerajzoltam egyet.
Magyarázat:
* az 500Ohm a pin-ek mellett az áramot lekorlátozza, hogy semmi nem tud tönkremenni.
* a dióda a vonalat lekorlátozza, hogy nem tud 3.6V fölé menni, azaz 3.3V plusz a dióda nyitófeszültség fölé. Ez biztonságos a 3.3V-os eszközöknek is remélhetőleg, mivel az ő bemeneteiken egy ugyanilyen dióda van. (Helyette jó lehet egy 3.4V-os Zener is, amit meg a GND-re kötünk, azzal pontosabban le lehet korlátozni 3.3V-ra.)
* a felhúzó ellenállás tartja 3.3V-on magasban a vonalat amikor senki nem vezérli, ahogy SPI-n illik

Ha végigzongorázod a lehetséges állapotokat minden pinre (bemenet, ki 0, ki 1) és az összes kombinációt, akkor azt kell látni, hogy minden állapotban minden pin az adatlapi speckón belül működik és a szabályos állapotokban azt a bemenetet kapja, amit kell neki. Ennek feltétele, hogy az 5V-os PIN a 3.3V-os inputot stabilan magasnak vegye, ami nem minden 5V-os eszközre igaz, de történetesen az ATMEGA328P-re igen.
(#) sargarigo válasza asch hozzászólására (») Máj 2, 2023 /
 
Becsszó, én próbáltam a gitet többször is, de nekem az létidegen, nem áll kézre. Továbbá ha két verzióval visszább érdekel hogy mit szúrtam el, nekem látványosabb a teljes fájlt csak átfutni, és ha nem az volt akkor az azt megelőzőt..
A hozzászólás módosítva: Máj 2, 2023
(#) vargham válasza sargarigo hozzászólására (») Máj 2, 2023 /
 
A gittel pont ezt tudod megtenni. Ráadaásul ha nem csak a saját gépeden mented, hanem azonnal fel is tolod egy szerverre, akkor van biztonsági mentésed is.
(#) Bakman válasza asch hozzászólására (») Máj 2, 2023 /
 
SPI esetén elég két ellenállás egy vonalra, a vonalak egyirányú utcák, nem úgy mint pl. az I2C esetén.
(#) benjami válasza asch hozzászólására (») Máj 2, 2023 / 1
 
Azért az ilyen +3.3V-ra kötött schottky diódás szintillesztőknél nem árt arra figyelni, hogy a +3.3V-os tápágon mindig legyen akkora áramfelvétel, ami ezeket az áramokat el is tudja nyelni, ellenkező esetben meg fog emelkedni a +3.3V-os tápfeszültség. Amúgy ezek a védődiódák a legtöbb mikrokontrollerbe eleve be vannak építve, ezért inkább az egyéb 3.3V tápfeszültséget igénylő áramkörökben (sd kártya, wifi modul, stb.) szükséges a dióda. Kontroller esetében esetleg elegendő lehet az áramkorlátozó ellenállás is (bár ártani ott sem árt a plusz dióda).
(#) asch válasza sargarigo hozzászólására (») Máj 2, 2023 /
 
Ha változásokat akarsz nézni, arra pedig vannak diff nézegetők, nekem a meld a kedvencem: http://meldmerge.org/

A git-tel össze van boronálva, a
  1. git difftool -d HEAD^^ .
paranccsal a kettővel ezelőtti és a mostani változat közötti különbségeket látod egyből.
(#) robis01 válasza SzilCsong hozzászólására (») Máj 2, 2023 / 1
 
Ez nem az Arduino miatt van fixálva, hanem a panelon lévő AVR miatt. Ha pl megnézed az ATMEGA328 adatlapját látható hogy a beépített perifériák (ADC, I2C, SPI, stb.) melyik lábakon vannak kivezetve. Ezen nem lehet változtatni.
Egy kivétel van csak, ha szoftveresen van emulálva az adott periféria, (pl. Aruino software SPI) de ez minden esetben lassítja a program futását, hiszen kihagyásra kerül az adott periféria. Ráadásul valamelyik beépített TIMER is használva lesz hozzá, amit addig más programrész nem használhat. Olyan mintha a pc-n kihagyásra kerülne a GPU, és minden videó számítást a CPU végezne, ami ugyan működne, de pont a hardver előnye veszne el.

Egy kis segítség az SPI használatához SPI

5V -> 3.3V meg nem érdemes sokat agyalni, mivel egy Cola is többe kerül szint illesztó
(#) robis01 válasza Kovács Tibor hozzászólására (») Máj 2, 2023 /
 
Szerencsés esetben a lehetséges feltölthető fájlok közül az, aminek az utolsó módosítás dátuma a legfrissebb.
(#) SzilCsong válasza robis01 hozzászólására (») Máj 3, 2023 /
 
Köszi, párhuzamosan bekötött variációt próbálom megvalósítani, sajnos amikor a SD inicalizálása megtörténik akkor hibát dob.

Idézet:
„egy adott slave-vel való beszélgetéshez az adott slave SS-vonalát alacsonyra kell állítani, és a többit magasan tartani.”

Ezt most, hogy kell érteni? Nekem kell leprogramozni, hogy a többi SS lábat tegye 4V-ra?
(#) Bakman válasza SzilCsong hozzászólására (») Máj 3, 2023 / 1
 
Lásd melléklet.

SCK, MOSI és MISO vonalak közösek, a CS vonalak egyediek. A szolga onnan tudja hogy neki szánod/tőle kérsz adatot, hogy a hozzá tartozó CS vonalat L szintre kapcsolod.

SPI.jpg
    
Következő: »»   792 / 852
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