Fórum témák

» Több friss téma
Fórum » RP2040
Lapozás: OK   2 / 3
(#) sdrlab válasza Josi777 hozzászólására (») Júl 11, 2022 1 / 2
 
Nézd, az én szememet meg a sok figyelmetlen butaság bántja, amit már hozzászólásokon keresztül látok tőled! Csak arra reagálok, ami már akkora ordas butaság, hogy szó nélkül szerintem nem kéne elmenni mellette! Bocs, ha ez neked nem tetszik, de nekem sem az amit te művelsz itt.... Ahogy te akarod tesztelni egy hardver képességeit, azt úgy nem lehet! És ezzel gyakorlatilag szétoffolod a témát, mivel az nem visz senkit sem előrébb, hogy elhibázott módon bizonygatod az igazadat...
(#) benjami válasza Josi777 hozzászólására (») Júl 11, 2022 / 1
 
A digitalWrite függvénynek nézd meg a megvalósítását mielőtt sebességmérésre használnád (csak mert nem alkalmas rá, mivel kismillió utasítást csinál, hogy minden körülmények és előzmények mellett is működjön). A gpio_init funkciója: "Initialise a GPIO for (enabled I/O and set func to GPIO_FUNC_SIO)". Ennek az arduino megfelelőjének a megkeresését rád bíznám, mert én nem használok arduino-t.
(#) Josi777 válasza benjami hozzászólására (») Júl 11, 2022 /
 
Köszi. Mit használsz, mert akkor azzal próbálnám ki.
(#) benjami válasza Josi777 hozzászólására (») Júl 11, 2022 /
 
Visual studio code / platformio / wizio pico. Itt tettem be linket, hogy mi alapján telepítettem a fejlesztői környezetet.
(#) benjami válasza sdrlab hozzászólására (») Júl 11, 2022 /
 
Szerintem olyan ESP32 szerű procit akartak csinálni, csak wifi nélkül és ARM alapon. Bár az ESP-ben van valami ROM terület is (már amelyikbe), de ha jól tippelek a fejlesztő által írt kódot ugyanúgy a külső flash-ba teszi mint az RP2040.
(#) cua hozzászólása Júl 12, 2022 /
 
Elso nekifutasra nem nagyon talaltam megfelelo reszletes dokumentaciot, ahol pontosan kiderulne melyik utasitas mennyi oraciklus.
Az viszont nem tunik logikusnak, hgy egy modern mcu ne legyen kepes kepes egy menetben irni tobb gpio-t. Ha a regisztert tudja irni a mindegyik state machine at once, akkor logikus lenne hogy a portok is kovetik ezt egy mentben.
RP2040 doksi
Idézet:

3.5.6. GPIO Mapping
Internally, PIO has a 32-bit register for the output levels of each GPIO it can drive, and another register for the output
enables (Hi/Lo-Z). On every system clock cycle, each state machine can write to some or all of the GPIOs in each of
these registers.”
(#) Josi777 válasza benjami hozzászólására (») Júl 12, 2022 /
 
Köszönöm, sikerült is összerakni, le is fordította, de a feltöltésnél már hibát adott:
*** [upload] UnicodeDecodeError : 'utf-8' codec can't decode byte 0xa0 in position 176: invalid start byte
(#) sdrlab válasza cua hozzászólására (») Júl 12, 2022 1 /
 
Ki mondta, hogy nem tud? Nem értem egyes embereket, akik write only módban vannak itt és nem képesek 1-2 fórum oldalnyit sem visszaolvasni, mielőtt tovább fűzik a hülyeséget....
Itt világosan leírtam egyes regiszterek neveit is. De máshol is leírtam, hogy de, tudja az egy utasításban 30 IO láb írását!
A hozzászólás módosítva: Júl 12, 2022
(#) cua válasza sdrlab hozzászólására (») Júl 12, 2022 /
 
Szerintem pedig meg mindig errol megy a vita, ezert irtam azt amit. De olvasd vissza ha mar chat history-ra hivatkozol.
(#) sdrlab válasza benjami hozzászólására (») Júl 12, 2022 /
 
Előfordulhat.....
Azon gondolkodom, hogy mennyi értelme lenne használni ezt a procit úgy, hogy mellé még egy flash is kell, és lenne mellette egy fő proci?! Mivel ebbe így, kódvédelem híján csak bizonyos perifériális működést engedhetnék meg, a program lényegi része mindenképpen egy kódvédett procit igényelne még mellé... Necces....
(#) sdrlab válasza cua hozzászólására (») Júl 12, 2022 1 /
 
Nincs itt semmilyen vita, valójában! Csak fantáziálgatások, és töketlen "mérések" alapján történő rinyálásokat látok...! Egy mérés ott kezdődik, hogy regiszter szinten van használva a hardver, lehetőleg asm lista kontroll alapon(hogy ténylegesen tudjuk, mit is csinál épp a proci), és szkópos időalap méréssel! A többi csak szócséplés...
(#) rolandgw válasza sdrlab hozzászólására (») Júl 12, 2022 /
 
Keverjük a dolgokat. A PIO nem SIO , az előbbiről indult a vita..
(#) rolandgw válasza cua hozzászólására (») Júl 12, 2022 /
 
Élesben még nem próbáltam, emulátor kimenet. Látszik, hogy az out egy órajelre ír több pint is.
A hozzászólás módosítva: Júl 12, 2022
(#) sdrlab válasza rolandgw hozzászólására (») Júl 12, 2022 /
 
Én nem keverek semmit! Mind a kettőre reagáltam külön-külön! SIO és PIO oldalról is egyszerre lehet mind a 30 pint kezelni!
(#) rolandgw válasza rolandgw hozzászólására (») Júl 12, 2022 /
 
Ez egy példa egyébként, HUB75, innen:
Bővebben: Link
(#) Josi777 válasza rolandgw hozzászólására (») Júl 12, 2022 /
 
Az idáig nem volt kérdés, hogy lehet-e egyetlen órajellel több portot kezelni. Az elejétől fogva az a kérdés, hogy egy 8 bites párhuzamos portot milyen sebességgel képes kezelni és hogyan. Példaként az Atmel procinál használható kód megfelelőjét keresem.
DDRD=255;
uint8_t counter=0;
while(1){
PORTD=counter;
counter++;
}
A state machine használata ebben az esetben túl lassú, mert shifteli az adatot. A SIO pedig 2 külön busszal kapcsolódik a magokhoz, nem a memória buszon keresztül, további működéséről nem találtam infót, ami a kiírás sebességére vonatkozna.
Szóval az lenne a kérdés, hogy egy 8 bites párhuzamos port 0. bitjén mekkora frekvencia mérhető. Ez 16 MHz-es Arduino Nano-nál 795 kHz. De mennyi egy Pi Pico-nál?
Amúgy nagyon szivesen kipróbálok bármilyen példaprogramot, de sajnos miután telepítettem a wiziot, azóta minden feltöltésre UTF-8-as hibát ad a VS Code. Még nem találtam rá megoldást.
(#) pipi válasza Josi777 hozzászólására (») Júl 12, 2022 / 1
 
Az utf8 az a karakterkódolás, írts ki mindenhonnan minden ékezetes betűt, a forrásból, és a könyvtárnevekből, pláne ha ha a felhasználói nevedben is van, akkor lehet új felhasználó alá kell költöznöd. Csak úgy gondolom....
(#) Josi777 válasza pipi hozzászólására (») Júl 12, 2022 /
 
Igen, én is ezt találtam megoldásnak ahogy keresgéltem, hogy a pyton könyvtárak nagyon nem szeretik a "különleges" karaktereket, hiába viszonylag gyakori hiba, jó sok találatot láttam a neten, általános megoldást nem találtam rá. És mivel nemrég lett új gépem és ismerős vette/rakta/installálta, ahogy megláttam, hogy a felhasználó névnek Józsi-t adott, fogtam is a fejem, de gondoltam, csak vannak már annyira fejlettek a rendszerek, hogy nem lesz vele gond. Hát úgy tűnik, hogy lett
(#) rolandgw válasza Josi777 hozzászólására (») Júl 12, 2022 / 1
 
Egy próbára átálltam a micropythonra. (Linux, Thonny) Itt nem mérek, kb. Arduino szint vagy rosszabb. Ha megjön a másik pico, erre térek vissza, akkor lemérem. Leírás szerint VS code, C/C++ Extension Pack, SDK, Linux.
Bővebben: Link
(#) rolandgw válasza Josi777 hozzászólására (») Júl 13, 2022 / 1
 
Nálam ez 8 MHz, maszkolással együtt, mivel 8 bitet kértél.
  1. #include <stdio.h>
  2. #include "pico/stdlib.h"
  3. int main() {
  4.    
  5.     gpio_init_mask(0xFF);
  6.     gpio_set_dir_out_masked(0xFF);
  7.     uint8_t count=0;  
  8.    
  9.     while (true) {
  10.     gpio_put_masked( 0xff,count);
  11.     count ++;
  12.  
  13.     }
  14. }
(#) Josi777 válasza rolandgw hozzászólására (») Júl 13, 2022 /
 
Köszönöm, ez az. A 0. biten 7,78 Mhz-et mérek.
Kipróbáltam VS Code-al és Arduino Ide alól is és ugyanazt az eredményt kaptam. Ez remek!
(#) benjami válasza rolandgw hozzászólására (») Júl 14, 2022 /
 
Hát a maszkolás már csak ilyen. Harmadolja/negyedeli a sebességet. Ha megnézed a függvény kódját ki is jön:
  1. static inline void gpio_put_masked(uint32_t mask, uint32_t value){
  2.   sio_hw->gpio_togl = (sio_hw->gpio_out ^ value) & mask;
  3. }

Egy periféria olvasás, majd kizáró vagy kapcsolat, aztán egy és kapcsolat majd egy periféria írás.
Ha minden áron kell a nagy sebesség és lehetséges, érdemes úgy megtervezni a hardvert, hogy ne kelljen maszkolni. Pl. a többi láb legyen más perifériára beállítva (pl. spi, i2c stb), vagy legyen bemenet. Ha kell alacsony sebességű kimenet, ahhoz meg használhatunk i2c buszos portbővítőt.
Vagy használjuk a PIO perifériát. A PIO változathoz itt lehet példát találni.
(#) rolandgw válasza benjami hozzászólására (») Júl 15, 2022 /
 
uint8_t-nak adtam meg a count-ot, lehet, hogy kellett volna kapnom egy warning-ot? Mindenesetre a ciklusba betett egy plusz UXTB utasítást ez miatt, a maszkoláson kívül. uint32_t esetén nincs.
(#) tomi52 hozzászólása Márc 17, 2024 /
 
Üdv Mindenkinek!

Végig olvasam a topikot, két oldal esetén még nem nehéz, nekem sokkal földhözragadtabb kérdéseim lennének.
Nemrég kezdtem tanulni a pythont hogy tudjak magamnak (nyugdíjas lét) desctopp programot írni, ne csak böngészőből használhatót. A python miatt lett érdekes számomra a Pi Pico is.

A környezet: debian 12, és Thonny. A "kezdő" LED villogtatással nincs gond de azon kívűl két netről szedett programmal próbálkoztam. Az egyik a karakteres LCD-I2C-s program, Ez elindul, de a példa 2x16-os, nekem 4x20-as van, és úgy tűnik a sor/oszlop beállítás nem igazán működik, változik, de akkor is rossz. De legalább megy.
A másik 0,96-os OLED program, aminél el sem indul, hibát jelez.

De valójában az egyik kérdésem a következő. Beállítási kérdés, vagy ez helyből ilyen, hogy amíg megy a program OK, de ha megállítom, nagyon rövid időn belül eldobja a kapcsolatot a számítógéppel, és olyankor csak úgy tudom újra indítani, ha a pytron rendszert újra rátöltöm. A forrás rajta marad. Tudok ezen változtatni?

A másik kérdés, láttam, hogy valaki linkelte, de nem tanulmányoztam a vscode-os telepítést. Még nem próóbáltam, de amúgy a vscode-ot több dologra is használom (html/javascript/css, STM32/platformio). Érdemes ehhez is megpróbálni? Esetleg megszűnne a gyors lecsatlakozás?
(#) tomi52 válasza tomi52 hozzászólására (») Márc 17, 2024 /
 
Válaszolok magamnak, egyrészt nem tudom, hogy ki tudnám-e törölni a kérdéseimet, másrészt hátha idetéved más kezdő is, és hasznos lesz esetleg neki is.

Találtam egy jó leírást, mit kell telepíteni a vscode-ban, hogy ezt a mikrocontrolert szóra bírjuk a vscode-al. És rádugva a gépre a boot gombos varázslat nélkül egyből működött a kis mintaprogram.
Vscode Thonny 1:0!

Számomra további előny, hogy a Thonny-val csak a kísérletező gépemen ment, mert a napi használatún egyel régebbi Debian fut, és azon a Thonny régebbi verziója még nem tudja kezelni ezt a procit, a Vscode mag igen.
(#) cua válasza tomi52 hozzászólására (») Márc 17, 2024 /
 
A vscode (azaz mac-en csak code) ugy altalaban jol hasznalhato, a platformio pedig roppant hasznos kiegeszito. Gyakorlatilag eddig mindent is tudtam vele programozni, meg is szerettem, pedig regebben nagy jetbrains felhasznalo voltam
(#) tomi52 válasza cua hozzászólására (») Márc 18, 2024 /
 
Használom egy ideje. Először STM32/platformio/C++, majd php/html/javascript/css, és újabban a python tanuláshoz is.
(#) asch válasza rolandgw hozzászólására (») Márc 19, 2024 /
 
Érdemes asm kimenetet kérni a fordítótól, hogy lássuk sikerült-e minden fölösleget elkerülnie? gcc esetén -S kapcsoló, és az ASM lista külön fájlba kerül, amit meg lehet nézni.
A maszkolás elkerülésére egy trükk lehet, ha a program az össze használt kimenetet számon tartja egy regiszterben (vagy globális változóban), és akkor azt az egy regisztert bármikor kiírhatjuk.
(#) tomi52 hozzászólása Ápr 2, 2024 /
 
Üdvözletem!
Programozza ezt az ittlévők közül valaki micropythonban?
Én pythonban kezdő vagyok, érdekes "hibára" (?) találtam, nem tudom eldönteni, hogy ez hiba, python vagy micropython tulajdonság, vagy csak valamit nem veszek észre. Ha van pythonban programozó, akkor persze leírom, hogy mit tapasztaltam.
A környezetet azért most is leírom: Lenovo T430S notebook, Debian 11 KDE-vel, vscode micropico kiegészítéssel.
(#) tomi52 hozzászólása Ápr 14, 2024 /
 
Üdv Mindenkinek!

Eredetileg pont azért szúrtam ki a Pi Picot, mert épp elkezdtem pythont tanulni, egy jó eszű, de csak a telefont nyomkodó kiskamaszt szeretnék tanítani programozni, ha már kütyü, de legalább az eszét is használja. Izgatott a Piconál az is, hogy van wifis változata is, azzal nekem is vannak terveim. És ha a kiskamaszt esetleg érdekli, akkor talán kicsit mikrokontrolerezni is tanítanám, de talán nem a C++ az ideális kezdő nyelv. Voltak problémáim a micropythonnal, de szerencsére megtaláltam a választ, már el tudom indítani a neten található példaprogramokat.

Most inkább azt szeretném kérdezni, hogy C++ esetén van-e, ha igen mit keressek, olyan library, mint az STM32-nél a HAL meg az LL?
Következő: »»   2 / 3
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