Hirdetés
- Teljes hátraarc az Intelnél, házon belül maradhat a NEX üzletág
- Drágul a Raspberry Pi, de lesz egy új, olcsó verzió
- Horvát fricska Elon Musk önvezető Tesláira
- Amilyen gyorsan jött, olyan gyorsan ment is a világ legdrágább csúcs-VGA-ja?
- Rémisztő árakkal szembesülnek a notebookgyártók az új mobil platformoknál
-
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
- Crucial 8GB DDR4 3200MHz Laptop RAM (SODIMM), hibátlan állapotban
- Üzletből, garanciával, Lenovo ThinkPad P14s Gen2. Ryzen 5 Pro-5650u/16GBRAM/512GBSSD/FULLHD IPS
- SAMSUNG Odyssey G4 LS27BG400EUXEN + INGYEN SZÁLLÍTÁS
- Apple iPhone 14 Pro Max - 256GB / Space Gray / 83% + Spigen tokok
- Logitech Trueforce G923 kormány és pedál szett váltóval, break moddal
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold

