Hirdetés
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
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
-
Janos250
őstag
"nem üti-e egyik a másikat mert ugyan azon a belső áramkörön van és hiába van több helyre kivezetve, egyidejűleg nem lehet mindkettőt használni."
Nem. Mindnek külön, független belső hardvere van.
ESP32-n bármelyik eszköz (UART,SPI, I2C, stb) lába bármelyik lábra átdefiniálható, ez csak nanosec nagyságrendű lassulást jelent.
UART-ból van három.
Serial, Serial1, Serial2. Feltöltés, debug az elsőn (Serial) megy, az 1, és a 2 szabadon használható nem ütik egymást, de a Serial1 default lábait át kell címezni, mert azt memória kezelésre használja az ESP32. Jól használhatóak.
SPI-ből kettő hardware van (VSPI,HSPI), de akármelyikre rá lehet rakni egy csomó eszközt, csak akkor a chip selectet nem automatikusra kell állítani, mert akkor az mindig a D5 lesz, és összeakaszkodnak a készülékek. Minden eszközhöz el kell határozni egy CS lábat, és azt az eszköz megszólítása előtt aktiválni, majd deaktiválni. Én csak a VSPI-t használtam, de azt több eszközzel, azaz készülékenként külön CS lábbal.
Itt egy példa:uint16_t readVSPI_MAX6675(uint8_t chipSelect){
uint8_t Hbyte;
uint8_t Lbyte;
uint16_t readed16bit ;
SPI.beginTransaction(SPISettings(100000, MSBFIRST, SPI_MODE1)); // Set the settings to work with SPI bus
digitalWrite(chipSelect, LOW); // Select slave
Hbyte = SPI.transfer(0);
Lbyte = SPI.transfer(0);
digitalWrite(chipSelect, HIGH); // Release slave again
SPI.endTransaction();
readed16bit = ((uint16_t)Hbyte)<<8 ;
readed16bit = readed16bit + Lbyte;
return readed16bit >> 6 ;
} ; // end readVSPI_MAX6675Persze több bájtot is lehet egyszerre olvasni, de itt - már nem tudom miért - így oldottam meg.
SPI-nél vigyázni kell arra, hogy:
Ha több bájtot írsz/olvasol, akkor a CS-t nem lehet háborgatni amíg mindet be nem olvastad.
Ha a default CS-t használod, akkor - általában - nem lehet a bájtokat egyesével olvasni, mert a CS aktiválása ezt-azt indít a készüléken is, ezért default CS láb esetén a több bájt olvasó függvényeket kell használni.I2C-t még nem használtam, most fogom használni EEPROM kezelésre.
Mivel I2C-nél nem kell külön CS láb, ezért nem növeli a lábak számát, ha több I2C eszközt használsz, SPI-nél viszont igen, minden eszközhöz külön CS láb kell.
Ha nem használsz sok lábú párhuzamos adatátviteli eszközt, akkor azért eléggé iparkodnod kell, ha túl akarsz futni az ESP elérhető lábain, mert elég sok az.
Pontos ADC-re nem volt szükségem, így azt nem tudom."Nextion tx, rx kell uart.
Sd kártya spi
Giroskóp i2c
Vagy ugyanazokat használják lábon?"Nem. Külön lábakat használnak alapértelmezés szerint is. Ha SPI-n csak az SD kártyát használod, mehet a default D5 CS.
Új hozzászólás Aktív témák
- LÉZEREZÉS! külföldi billentyűzet magyarra kb. 20-30p alatt!
- Samsung Galaxy A9 2018 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
- LG 34WQ75X-B - 34" Ívelt IPS Panel - 3440x1440 2K QHD - 60Hz 5ms - FreeSync - USB Type-C 90W
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max/
Állásajánlatok
Cég: FOTC
Város: Budapest