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.
Szeretnék segítséget kérni a gyakorlott RP2040 használóktól.
Én már csak hobbiból programozok, nyugdíjas vagyok, de valamikor programozó is voltam, ma már a neve sem mond senkinek semmit programnyelveken. Én úgy tudtam tanulni egy-egy új nyelvet, hogy elindultam valami egyszerűbb, de már létező, működő programon, aztán később már hozzá tudtam építeni a dokumentációkban található információkból is. Napok óta szenvedek, hogy találjak egy nálam is működő CmakeLists.txt mintát, de valami mindig hibádzik. A githubon ugyan találtam egy pythonban írt programot, ami legenerál mindent, működik is, de az egy legalább is látszólag egy meglehetősen bonyolult rendszert hoz létre, abból megérteni cmake-ben kezdőként reménytelennek tűnik. És kicsit találomra próbálgatom a kiválasztható paramétereket is, ezért van, hogy a vscodeban fordítható de akkor konzolból indítva hibára fut, van hogy fordítva, konzolból jó, vscode alatt ad hibát. Ha valaki összedobna nekem egy minimális, de működő CmakeLists.txt filet, nagyon megköszönném. Nagyon egyszerűt találtam ugyan a neten ami nálam is fut konzolból, de egy annyi programhoz való, ami ciklikusan kiírja a monitorra, hogy hello world, de nem tudom, ezt hogyan lehetne tovább módosítani, hogy egyébb dolgokat is tudjon. Egy olyat szeretnék, ami i2c kapcsolatot is tud kezelni, mintának a githubról letölthető pico c++ sdk mintákból a karakteres LCD kezelést néztem, neve i2c_1602_lcd.c. A fentebb említett python programmal generált környezettel meg tudtam csinálni, de szeretném, ha saját egyszerűbb CmakeLists.txt fileal is tudnám kezelni. Debian 11-es linuxot használok, vscode, geany, kdevelop.... mikor mi. Leginkább a vscodeot szeretem az STM32 + platformio óta, azóta html, php-hez is azt használom, de nem ragaszkodom hozzá. És ha konzolból szeretnék fordítani, gondolom teljesen mindegy ,melyik editort használom. Ha valaki veszi a fáradtságot és segít, azt előre is nagyon megköszönöm A hozzászólás módosítva: Csü, 23:30
|
Bejelentkezés
Hirdetés |