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   759 / 852
(#) majkimester válasza Josi777 hozzászólására (») Dec 16, 2022 / 1
 
DE van, az MCUSR, WDRF
(#) Skori válasza Josi777 hozzászólására (») Dec 16, 2022 / 1
 
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
(#) pipi válasza Josi777 hozzászólására (») 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...
(#) majkimester válasza Josi777 hozzászólására (») Dec 16, 2022 / 1
 
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.
(#) Josi777 válasza pipi hozzászólására (») Dec 16, 2022 /
 
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.
(#) rolie válasza Josi777 hozzászólására (») Dec 16, 2022 / 2
 
Régebbi bootloader verziónál bugos volt a watchdog, érdemes lehet megpróbálni frissíteni. Itt beszélgetnek róla.
(#) Josi777 válasza Skori hozzászólására (») Dec 16, 2022 /
 
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.
(#) Josi777 válasza majkimester hozzászólására (») Dec 16, 2022 /
 
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.
(#) Josi777 válasza rolie hozzászólására (») Dec 16, 2022 /
 
Köszi a tippet! Ugyanazt csinálja nekem is, amit a fórumon leírt. Akkor bootloader csere a következő lépés.
(#) Kovidivi válasza Josi777 hozzászólására (») Dec 18, 2022 /
 
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.
(#) elektroncso hozzászólása Dec 21, 2022 /
 
Ü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
(#) elektroncso válasza elektroncso hozzászólására (») 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
(#) Pethical válasza elektroncso hozzászólására (») Dec 21, 2022 /
 
Szia!

Elvileg a DTR van bekötve resetre a gyári usb illesztéssel (ch340, ft232rl, atmega32) szerelt arudinókon. Te rákötötted ezt a mini resetjére?
A hozzászólás módosítva: Dec 21, 2022
(#) elektroncso válasza Pethical hozzászólására (») 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!
(#) benjami válasza elektroncso hozzászólására (») Dec 21, 2022 / 1
 
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.
(#) Pethical válasza benjami hozzászólására (») Dec 21, 2022 /
 
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.
(#) benjami válasza Pethical hozzászólására (») Dec 21, 2022 /
 
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.
(#) Pethical válasza benjami hozzászólására (») Dec 21, 2022 /
 
Áh, köszönöm. Akkor valószínűleg nálam is ez volt a gond. Ki fogom próbálni.
(#) Massawa hozzászólása Jan 5, 2023 /
 
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
(#) Kovács Tibor hozzászólása Jan 5, 2023 /
 
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?
(#) benjami válasza Massawa hozzászólására (») Jan 5, 2023 /
 
É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.
(#) Massawa válasza benjami hozzászólására (») Jan 5, 2023 /
 
Ezt kerestem de eddig nem találtam rá.
(#) benjami válasza Massawa hozzászólására (») Jan 5, 2023 /
 
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.
(#) Jonni válasza Kovács Tibor hozzászólására (») Jan 5, 2023 /
 
A CH340 jobban ismert és még nem hallottam panaszt rá.
Megbizható
(#) tbarath válasza Massawa hozzászólására (») Jan 5, 2023 /
 
Gugli ezt adja:
  1. void pinModeEnhanced(uint8_t pin, uint8_t mode){
  2.  
  3.   #if !defined(FEATURE_REMOTE_UNIT_INTERFACE)
  4.   pinMode(pin, mode);
  5.   #else
  6.   if (pin < 100) {
  7.     pinMode(pin, mode);
  8.   } else {
  9.     submit_remote_command(REMOTE_UNIT_DOI_COMMAND, pin, mode);
  10.   }
  11.   #endif // !defined(FEATURE_REMOTE_UNIT_INTERFACE)
  12.  
  13. }

Bővebben: Link

Ez alapján a fene se érti, mélyre kellene ásni a kódban...
(#) Massawa válasza tbarath hozzászólására (») Jan 5, 2023 /
 
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….
(#) kiborg hozzászólása Jan 6, 2023 /
 
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.
(#) Jonni válasza kiborg hozzászólására (») Jan 6, 2023 1 /
 
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.
(#) benjami válasza kiborg hozzászólására (») Jan 6, 2023 /
 
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.
(#) Pethical válasza kiborg hozzászólására (») Jan 6, 2023 / 2
 
Azt hiszem a
  1. GPIOA->ODR
regiszter lesz a barátod.
Ha olvasni akarod akkor meg talán a
  1. GPIOA->IDR
Következő: »»   759 / 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