-
PROHARDVER!
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
- Halo sorozat
- sziku69: Fűzzük össze a szavakat :)
- Milyen okostelefont vegyek?
- Renault, Dacia topik
- Samsung Galaxy Note20 Ultra - a tollnak nincs ellenfele
- Mozilla Firefox
- Subaru topik
- Épített vízhűtés (nem kompakt) topic
- Melyik tápegységet vegyem?
- Azonnali alaplapos kérdések órája
- További aktív témák...
- Zebra ZP505 EPL - Hőpapíros címkenyomtató
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 9070 XT GAMER PC termékbeszámítással
- Samsung Galaxy S25 Ultra 1TB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Apple iPhone SE (2016), Apple iPhone SE2 (2020), Apple iPhone SE3 (2022)
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest