Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
DE van, az MCUSR, WDRF
Hát ha te jobban tudod akkor minek kérdezel...
Azért elárulom, hogy a long az előjeles változó, az uint32_t viszont nem előjeles. Tehát hiába állítod, hogy ugyanarra fordul le, mert nem így van. Pl. túlcsorduláskor biztosan másképp viselkedik. A másik dolog, hogy még ha nem is fagy bele egyből, amikor a megszakításból írsz a soros portra, a stack-et valószínűleg akkor is el fogja cseszni, és amikor ebbe a hibába valamikor belefut (pl. egy rossz visszatérési cím, vagy egy hibásan visszatöltött regiszter tartalom), akkor majd lefagy. Kb. olyan ez a hozzáállás, mint amikor négyen mondják, hogy azért engedett le a kerék, mert kiáll belőle egy bazi nagy szög, ami felhasította a gumit, de a tulaj erőlteti, hogy biztos, hogy a pumpa rossz, azért nem tudja felfújni, és a kompresszort követeli, hogy felfújhassa a kereket. De hajrá, majd írd meg mi volt a megoldás! Bár ebben a pár sornyi programban más nagyobb baki nem igazán látszik, ami lefagyást okozhat - hacsak nincs valami hardverhiba is esetleg. Még valami, nem várhatod el, hogy más előszedjen egy pont ugyanolyan hardvert, és kísérletezzen a hibás programoddal. Neked kellene kivenni a vitatott részt, és úgy megpróbálni. Ez kb. kevesebb ideig tartott volna mint az a hosszú hozzászólás amit begépeltél. Ha ezután is lefagy, akkor egy kisebb méretű kódban lehet tovább keresni az okot - ha meg mégsem, akkor talán mégsem városi legenda amit írtak neked. A hozzászólás módosítva: Dec 16, 2022
Szerintem már rég kivehetted/kipróbálhattad volna a vitatott soros portra irkálás nélkül. Kapcsolj egy-két-akárhány ledet, éppen hol/merre kóricál a programod, ez garantáltan nem akad össze semmilyen egyéb interruptal...
Próbáld ki EZT a panelodon.
10 másodpercig másodpercenként reseteli a watchdog timer, majd utána már többet nem. Ezután 8 másodperc múlva újraindul a kontroller és kigyullad a második led, a program pedig fut tovább.
Természetesen kipróbáltam más kódokkal is, a soros portra írást később tettem bele, hogy lássam, hogy az interrupt lefut-e. EEPROM-ba írással is próbáltam detektálni, hosszú a sora, hogy hányszor, hány féleképpen próbáltam. Minduntalan az az eredmény jött ki, hogy rosszul kezeli a watchdogot.
Szóval már rég túl vagyok egy csomó kísérletezésen, végső, mondhatni utolsó utáni lehetőségként írtam ide és ismét beigazolódott, hogy nem volt értelme.
Régebbi bootloader verziónál bugos volt a watchdog, érdemes lehet megpróbálni frissíteni. Itt beszélgetnek róla.
Sajnálom, hogy egy szót sem értettél a watchdog működéséből. Ezért ne engem okolj. Miután összeomlott a program, nincs olyan, hogy bármi elcseszhet bármit.
A long és az int32_t ugyanaz, ezt félre értettem, de jelen esetben ez egyáltalán nem számít, mivel nem fog addig elszámolni, hogy túlcsorduljon, de azért köszönöm az észrevételed, át fogom javítani. NEM vártam el semmit és nem a programomat kell tesztelni. A teszt program meg nem hibás, mint ahogyan azt már leírtam, főleg azért nem, mert a soros portra írás nélkül is ugyanúgy lefagy. Feltettem egy egyszerű kérdést, erre minden tapasztalat nélkül jönnek hozzászólások, amelyek többsége irreleváns. Értékelem a segítő szándékot és köszönöm, hogy van, aki veszi a fáradtságot, hogy hozzászóljon, de az alapvető problémához semmivel nem sikerült közelebb kerülni.
Kipróbáltam a kérdéses alaplapon (Pro Mini) és ugyanabba a furcsa állapotba kerül, mint eddig. Egy másik alaplapon viszont, ami egy UNO, remekül működik (ahogyan a másik, ill. többi tesztprogram is). Akkor a bootloader frissítés jöhet még számításba, ahogyan azt rolie találta, ha az sem segít, akkor már csak a hardver hiba marad.
Köszi a segítséget.
Köszi a tippet! Ugyanazt csinálja nekem is, amit a fórumon leírt. Akkor bootloader csere a következő lépés.
Megerősítem Rolie hozzászólását. A bootloaderek (lehet a frissített sem) nem tudják megfelelően a watchdogot lekezelni. Ha akarod, próbáld ki bootloader nélkül a programod, ISP-n keresztül töltsd fel. Elvileg működnie kellene.
Üdv!
A köveztekő problémával fordulnék hozzátok. Van egy Arduino pro mini (5V) panelem. Ezt hozzá kötöttem egy CH340-es USB-TTL illesztőhöz, beállítottam az Arduino IDE-t majd feltöltöttem ezt a programot. Szépen felment, működik meg minden, de át kéne írni, ez csak tesztből ment rá. Most viszont, hogy ha fel akarok tölteni kódot a pro mini-re akkor hibát kapok: Idézet: „Arduino: 1.8.19 (Windows 10), Alaplap:"Arduino Duemilanove or Diecimila, ATmega328P" A vázlat 924 bájt (3%)-ot használ a program tárhelyből. A maximum 30720 bájt. A globális változók 9 bájt (0%)-ot használnak a dinamikus memóriából, 2039 bájtot hagyva a helyi változóknak. A maximum 2048 bájt. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe0 Hiba történt a vázlat feltöltése közben ” Körülnéztem a neten, kipróbáltam pár dolgot amit írtak, volt USB kihúz-bedug, átdug másik aljazatba, közben másik port címet is kapott, nyomtam reszetgombot az arduinon, újraindítottam a PC-t szóval mindent kipróbáltam ami eszembe jutott, vagy olvastam valahol, de nem segített. Van valakinek ötlete? A hozzászólás módosítva: Dec 21, 2022
Közben rájöttem, meg is oldottam bár nem teljesen értem az okát.
A program folyamatosan adatot küld a soros porton keresztül ami fogta a portot így nem tudott az IDE kommunikálni a kontrollerrel. A megoldás az lett, hogy nyomni kell folyamatosan a reszet gombot és csak akkor szabad felengedni amikor az IDE kiírja, hogy "Feltöltés...". Nos ha ekkor engeden csak fel akkor szépen megtörténik a programozás. Ez csak azért fura számomra, mert van gyárilag CH340-el szerelt alappanelem (UNO klón) és ott teljesen jól működik minden, nem kell reszetet nyomni. Gondolom az eredeti alaplapokon a soros kom-ért felelős atmega intézi a reszetet ilyenkor. A hozzászólás módosítva: Dec 21, 2022
Nincs ilyen csatlakozás azon az átalakítón ami nekem van. Akkor ez a gond. Mindegy, most már ezt is tudom. Köszönöm!
Ezen ki van vezetve a DTR, és nem is vészesen drága. Ha megnézed a nano kapcsolási rajzát, ott 100nF-os kondival van az atmega reset lábára kötve.
Nekem van itthon egy ilyen, se a Windows 10, se a 11 nem szereti. Win7-el viszont vígan elvolt. Nincs hozzá naprekész, kompatibilis driver (vagy én nem találtam meg). Az FT232 alapúakkal (bár azok drágábbak) még soha nem volt gondom.
Nekem pl2103 van. Találtam egy működő win10 drivert hozzá. Időnként az oprendszer lecseréli egy újabb nem működő változatra, akkor újból fel kell telepítenem a régi drivert.
Áh, köszönöm. Akkor valószínűleg nálam is ez volt a gond. Ki fogom próbálni.
Szakik
Egy barátom küzd egy komolyabb antenna forgatoval ( radioamatör versenyre készül). Valami nem jön össze a vezérlés meg a Yaesu forgato között. Elküldte a kapott kodod, amitöl majdnem agyrémet kaptam vagy 10000 soros, de valamilyen érdekes formatumban van. Ki tudom nyitni és le is tudom futtatni, de érdekes parancsok vannak benne. Pl. pinModeEnhanced meg hasonlok. Mit jelent itt az Enhanced? ( sajnos ettöl az én arduino tudásom még fényévekre van) Az Arduino gyakorlatilag egy interface a PC meg a Yaesu között. A program meg ugy van megirva, hogy legalább két tucat firgatohoz jo meg müködhet PCvel, de egyszerü LCD displayjel is. Szovak a kodban van vagy 1000 sor definicio mi mivel müködik együtt. A PCben ez ki lehet választani, de talán az eszközöket is konfigurákni kell hozzá, mert ahogy nézem vannak eszközök, amik léptetö motorokat hasznälnak meg potit a pozicio visszajelzésére meg vannak eszközök amiket két bemettel lehet jobbra balra forditani, és enkoder jelzi vissza a helyzetet. Szoval meglehetösen profi komplex kod. Az a gyanum, hogy a konfigurácioban lesz az ördög elásva, de oda még nem jutottam el. Kösz
Sziasztok!
ESP 8266-os WiFi modult szeretnék vásárolni Uno panelhez, (majd fűtéssel kapcsolatos fogyasztási adatokat fogok vele olvastatni terveim szerint). Melyiket válasszam mert van CH 340-es és CP 2102 chippel. Ez utóbbi drágább és újabb ha jól tudom, használhatósága és kompatibilitása ugyanaz, vagy van egyéb különbség?
Én ilyenkor fogom a total commandert, belemegyek a project gyökerébe, Alt+F7 (keresés), Amit keres: *, Szöveg: pinModeEnhanced. Valahol benne kell lennie a meghatározásának.
Ha a project mappájában nincs, akkor a fejlesztőeszköz saját mappáiban érdemes még keresgélni ugyanezzel a módszerrel.
A CH340 jobban ismert és még nem hallottam panaszt rá.
Megbizható
Gugli ezt adja:
Bővebben: Link Ez alapján a fene se érti, mélyre kellene ásni a kódban...
Hát ez az.
Van a kodban vagy két tucat .h alprogram, amiböl csak 5t kaptam meg, azokban az egyik egy hatalmas makro gyüjtemény, de ott sincs semmi értelmes dolog ami erre vonatkozna. Már az is gond, hogy az egyik analog bemenetet az A7 portra irtak, igaz, hogy az Arduino. Nem használja, de a procin van ilyen láb, de a kodban eddig nem találtam egyetlen instrukciot sem ami az A7-s bemenetet használná. Azaz az érzésem, hogy feladom. Ennyi idö alatt már megirtam volna a magam kodját….
Arduino rendszerben használnék STM32-t.
A0-A15-ig használnám a kimeneteket. Egyesével nem is okoz gondot a kapcsolgatása, de "sokáig tart". Van valami megoldás egyszerre a 16-t, vagy legalább 2x8-as csoportot állítsak 0-1 között ? köszi.
Az "A" az analog bemeneti láb (alapértelmezésben és az adc konverter lassitja). Miért nem használsz digitális lábakat (?) az sokkal gyorsabb.
Ehhez sajnos elő kell szedned az illető stm32 adatlapját, és megnézni, hogy melyik lábad melyik fizikai portlábhoz tartozik. Az stm32 adatlapok két pdf-ből állnak, van egy rövidebb ami csak az aktuális kontrollerről nyilatkozik (ez rövidebb, 100 oldal körüli hosszúsággal), és van egy részletes (1000 oldal körüli) ami az egész családra vonatkozik. Ez utóbbinak reference adatlap a megnevezése. Mindkettő adatlapra szükséged lesz, mert van olyan dolog amit csak az egyikben, van amit meg csak a másikban találsz meg.
Azt hiszem a
Ha olvasni akarod akkor meg talán a
|
Bejelentkezés
Hirdetés |