Fórum témák

» Több friss téma
Fórum » RP2040
Lapozás: OK   3 / 3
(#) Sinike hozzászólása Máj 1, 2024 /
 
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
(#) tomi52 válasza Sinike hozzászólására (») Máj 1, 2024 /
 
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.
(#) tomi52 válasza Sinike hozzászólására (») Máj 1, 2024 /
 
Találtam példát mindkét nyelvre.
(#) pipi válasza tomi52 hozzászólására (») Máj 2, 2024 /
 
Fentebb i2c-ről írsz, a példa meg spi...
(#) benjami válasza Sinike hozzászólására (») Máj 2, 2024 /
 
Szerintem ebből minden kiderül:
  1. #define I2C_PORT      1   // I2C port number (0=i2c0, 1:i2c1)
  2. #define SCL_PIN       3   // GPIO number for I2C SCL (i2c0: 1, 5, 9, 13, 17, 21, 25, 29, i2c1: 3, 7, 11, 15, 19, 23, 27)
  3. #define SDA_PIN       2   // GPIO number for I2C SDA (i2c0: 0, 4, 8, 12, 16, 20, 24, 28, i2c1: 2, 6, 10, 14, 18, 22, 26)
  4. #define I2C_SPD  400000   // i2c speed (100000 or 400000)
  5.  
  6. i2c_init(I2C_PORT, I2C_SPD);
  7. gpio_set_function(SDA_PIN, GPIO_FUNC_I2C);
  8. gpio_set_function(SCL_PIN, GPIO_FUNC_I2C);
  9. gpio_pull_up(SDA_PIN);
  10. gpio_pull_up(SCL_PIN);

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
(#) Sinike válasza tomi52 hozzászólására (») 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
(#) Johnycorp válasza Sinike hozzászólására (») Máj 2, 2024 /
 
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
(#) benjami válasza Sinike hozzászólására (») Máj 2, 2024 /
 
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.
(#) Sinike válasza Johnycorp hozzászólására (») Máj 3, 2024 /
 
Köszi, kipróbálom. Csak nem akartam addig összevissza forrasztgatni a panelt...
(#) Sinike válasza benjami hozzászólására (») Máj 3, 2024 /
 
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.
(#) tomi52 válasza pipi hozzászólására (») Máj 3, 2024 /
 
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.
(#) benjami válasza Sinike hozzászólására (») Máj 3, 2024 /
 
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.
(#) tomi52 hozzászólása Máj 4, 2024 /
 
Ü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
(#) Sinike válasza tomi52 hozzászólására (») 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...
(#) tomi52 válasza Sinike hozzászólására (») Máj 7, 2024 /
 
Írtam privátban, majd mégis találtam valamit ami tetszik, így újra írtam provátban.
(#) Sinike válasza Johnycorp hozzászólására (») Máj 12, 2024 /
 
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.
(#) tomi52 válasza Sinike hozzászólására (») Máj 12, 2024 /
 
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.
(#) Sinike válasza tomi52 hozzászólására (») Máj 13, 2024 /
 
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.
(#) tomi52 hozzászólása Csü, 23:23 /
 
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
Következő: »»   3 / 3
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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