Fórum témák
» Több friss téma |
Hello.
Volna egy kezdő kérdésem. Adott egy projekt QT Py RP2040-re, ahol I2C A Stemma csatin keresztül megy a mágneses érzékelőhöz. (Konkrétan a spacemouse projekt). Csak RP2040 Zero-t sikerült beszereznem, de fogalmam sincs, hova kell kössem az érzékelőt. I2C0 és I2C1 ír egy csomó lábra a doksi, de mi dönti el, hanyas GPIO? Arduinoban megszoktam, hogy kiosztom a lábakat, de ebben a programban nincs olyan. Netán automatikusan felismeri az RP, bármelyik lábat használom? Spacemouse
Mondjuk még elég kezdő vagyok én is.....
Az I2C init paramétereivel adod meg melyik I2C csatorna, illetve melyik lábak. Nem tudom C++-ban vagy micropythonban akarod csinálni, alább egy példa sor micropythonban, de gondolom a C++-os is hasonló lehet. Pl.: i2c = I2C(0, sda = Pin(0), scl = Pin(1), freq = 400000) Található a neten pár oldal, ahol sok példán keresztül mutatják be mit, hogyan lehet kezelni.
Szerintem ebből minden kiderül:
A 2. és 3. sor végi megjegyzéseknél fel vannak sorolva a lehetséges portlábak számai. A hozzászólás módosítva: Máj 2, 2024
Igen, C++ nak ismeri fel a VS, és persze, ha lenne ilyen sor, amit példáztál, nem írtam volna ide
Valamint az is igaz, hogy van pár oldal példákkal, viszont ott sem szerepel a pin kiosztás, ahogy Arduinónál megszoktam. Láttam ezen topik elején, hogy van néhány ember, aki nagyon jól ismeri ezt a processzort, Azért kérdeztem, hogy esetleg ezen nem muszály megadni? Felismerheti magától? A kód
Ott van a kódban.
"Wire1.begin();" Azaz, elvileg a második I2C portot használja (talán). Egy próba a GP2 és GP3 pinekkel? Bővebben: Link
A programnak csak egy kis része van a közzétett "ino" fájlba, a többi az első 4 sorban található headerekhez tartozó c vagy cpp fájlokban található. Ha képes vagy a projectet lefordítani, akkor megvan nálad a többi fájl is valahol. Keresd meg a "Tlv493d.h" és a "Tlv493d.cpp" fájlokat, mert abban fogod megtalálni a kérdésedre a választ.
Köszi, kipróbálom. Csak nem akartam addig összevissza forrasztgatni a panelt...
Igen, megvan, napokig böngésztem...
Semmit nem találtam. Onnan is megy még tovább - mert ez már egy másik Arduino könyvtár.
Bocs, igazad van, összekevertem, mert épp SPI-s TFT-vel vacakolok.
De a korábbi I2C példasort egy működő micropython nyelvű programból másoltam.
Azt is megteheted, hogy a setup végén printf-el kiíratod a gpio regiszterek értékét, abból kiderül melyik láb van i2c-re beállítva.
Üdv Mindenkinek!
Majd két napot küzdöttem, hogy összehozzam a Pi Picot, a C++-t és a vscode-ot linux - Debian 12 - alatt, de nem sikerült. Találtam hosszú leírást, sok más dolgot megoldottam már hasonló módon a gugli segítségével, ezt sajnos nem sikerült. Konzol parancsokkal sikerült egy kis mintát összehoznom, de azért az macerás. Láttam adduino frameworkös megoldást, de nem szeretnék arduinost. A micropytonnal nagyon jól kezelhető a Pico vscode alatt, és STM32 is remekül programozható C++-al a vscode alatt, csodálom, hogy a Picohoz C++-al nincs valami hasonlóan kezes megoldás. Használ valaki ilyen összeállítást? Ha nem, mit használtok? A hozzászólás módosítva: Máj 4, 2024
Framework csak ez a 3 van Keretrendszer
Én azt használtam pont ennél a projeknék - igaz, már fél éve. Bár a problémát magát nem értem, de kb 15 éve van linuxom (főleg deb alapú) - keress meg privátban és ha tudok, segítek. Bár ha úgy véled, hogy belefér az elektronikai fórum témájába, tőlem itt is lehet...
Írtam privátban, majd mégis találtam valamit ami tetszik, így újra írtam provátban.
Nos így plussz 10 napi kutatás után egy RP fórumban találtam rá, hogy alapértelmezett lábaknak a 4 - SDA és 5 - SCL vannak kiadva. Hogy hogyan lehet ezt megváltoztatni, ők sem tudták...
Ezzel a lábkiosztással már végre működik.
Néztem a zero térképét amit múltkor küldtem, és azon valóban nincs jelölve melyik lábak a default. De mivel ez az RP2040-hez kötődik, a nagyobb lapok térképéről is leleshető.
Kíváncsi lettem, és próbáltam keresni, hogyan lehet megváltoztatni melyik lábakat szeretnéd használni. Először SDK-s megoldást, aztán megnéztem miféle a programja van a projektnek amit szeretnél megcsinálni, és láttam, hogy arduino IDE-s. Találtam valamit, bár nem mélyedtem nagyon bele,mert nem szeretnék arduinos korlátokkal programozni. Ha jól látom, simán meg lehet változtatni melyik lábakat szeretnéd használni, viszont ez a leírás egyben példa arra is, miért nem szeretnék arduinos környezetben dolgozni. Hiába van az RP2040-nek két I2C csatornája, arduinoval egyszerre csak az egyik lehet élő. a példában is váltogatja, hogy éppen melyik van nyitva.
Ebben a fórumban volt a megoldás. Itt írják is, de link is van a github-ra a lábkiosztással - hátha segít másoknak is.
Az ottani emberke sem tudta megoldani másképp, átalakította a nyákot. |
Bejelentkezés
Hirdetés |