- Google Pixel topik
- iPhone topik
- Milyen okostelefont vegyek?
- Samsung Galaxy S21 Ultra - vákuumcsomagolás
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S21 FE 5G - utóirat
- Samsung Galaxy A56 - megbízható középszerűség
- CMF Phone 2 Pro - a százezer forintos kérdés
- Milyen hagyományos (nem okos-) telefont vegyek?
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
ecaddsell
aktív tag
válasz
fpeter84 #9637 üzenetére
"azt keresem hogy egy adott LCD-t mivel tudnék a létező leggyorsabban meghajtani"
HW referencia regiszterekkel:
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdfMivel az EP32 nem tartalmaz kijelzőt (a kijelzős board-ok is tipikusan valamilyen soros protokollal vannak hozzákötve tip. SPI) ezért soros protokol esetén HW SPI-t kell használni, vagy ha direktbe van a GPIO pinekhez kötve a kijelző akkor a pineket írva.
A direct GPIO-ra meg ezt a fórumbejegyzést találtam, szóval mennie kellene.
Most, hogy látom, így esetleg több pint is lehet írni (remélhetőleg tökéletesen egyszerre), lehet engem is fog érdekelni a dolog...
Viszont ha jól látom ennek a sebessége a HW SPI alatt van (valamiért), szóval a soros protokolhoz képest nem biztos, hogy akkora a nyereség.
Még 1 link:
GPIO.out_w1ts = (1 << TogglePin);
GPIO.out_w1tc = (1 << TogglePin); -
Janos250
őstag
válasz
fpeter84 #9637 üzenetére
Na, a gyanúm beigazolódni látszik:
gpio_reg.h file
#define GPIO_ENABLE_W1TC_REG (DR_REG_GPIO_BASE + 0x0028)A soc.h fájlban vannak a base címek:
#define DR_REG_GPIO_BASE 0x3ff44000Vagyis a GPIO_ENABLE_W1TC_REG a 0x3ff44028 egy CÍM.
Tehát:
*((volatile uint32_t *) (GPIO_ENABLE_W1TC_REG)) = .... ;
vagy:
*((volatile uint32_t *) (DR_REG_GPIO_BASE + 0x28)) = .... ;Próbáld ki!
Egyébként, ha már használtuk a rendszerben az adott perifériát, akkor a "mindenfélék" be vannak állítva, lehet közvetlenül írni, olvasni a regisztereket, minden faxni nélkül.
-
Janos250
őstag
válasz
fpeter84 #9637 üzenetére
Mégegyszer átfutva a kérdésed:
a GPIO_ENABLE_W1TC_REG gyanúm szerint egy adott regiszter CÍME. Általában úgy szokták az ilyesmit definiálni, hogy egy base + az offset. Próbáld kiíratni a GPIO_ENABLE_W1TC_REG-et, és megvan a címed, próbálj oda a számmal megadott címre írni, a követlen memória írásra szokásos módon. -
Janos250
őstag
válasz
fpeter84 #9637 üzenetére
Itt is megy a közvetlen regiszter írás. A dolog annyival macerásabb, hogy ugyanaz a regiszter több mindenre is használható, ezért van egy mátrix, amiben meg kell adni, hogy mire akarjuk használni. Egyes funkciók (pl. UART) "közvetlenül" (bypass) érik el a regisztereket, mások meg egy mátrixon keresztül. Pl. a közvetlen eléréshez ha nem jelöljük ki, órajelet sem kap az a hardver rész, ami az adott funkciót végzi, és a regisztereket sem tudjuk írni, illetve olvasásánaál fals értéket kapunk. Valamikor tavaly bütyköltem vele, akkor néztem, használtam. Ha jól emlékszem, a kulcsszavak GPIO matrix, és IO_MUX. Pontosan már nem emlékszem, valahova leírtam, de hirtelenjében nem találom, és a héten nagyon el vagyok havazva.
Egyébként ez a mátrixos dolog teszi lehetővé, hogy bármelyik GPIO-t bármelyik lábra teheted. -
Új hozzászólás Aktív témák
Hirdetés
- BESZÁMÍTÁS! Asus TUF B450M R5 5600X 32GB DDR4 512GB SSD RTX 3060 XC 12GB Rampage SHIVA Chieftec 600W
- Samsung Galaxy A12 64GB, Kártyafüggetlen, 1 Év Garanciával
- Xbox Ultimate előfizetések
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Gigabyte Z370M i5 9400F 16GB DDR4 512GB SSD RX 5700XT 8GB ZALMAN S2 TG Corsair S650W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged