Kazalo:
- Korak: Vmesnik SD
- Korak: Preslikava zatičev ESP32 GPIO
- 3. korak: Zahteve za vlečenje SD
- 4. korak: Različna strojna oprema
- 5. korak: Odmična plošča za režo za SD kartico
- 6. korak: Odklopite GPIO 2 med programom
- Korak 7: Merilo uspešnosti
- 8. korak: Primerjava 4-bitnega načina SD_MMC
- 9. korak: Primerjalnik 1-bitnega načina SD_MMC
- Korak: Način SD SPI pri merilu vodila HSPI Bus
- Korak 11: Način SD SPI pri merilu VSPI Bus Benchmark
- 12. korak: Zaokrožite
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:08
Ta navodila kažejo nekaj o izbiri vmesnika SD za vaš projekt ESP32.
Korak: Vmesnik SD
V izvirni knjižnici Arduino SD vmesnik SD uporablja način prenosa vodila SD SPI.
SD imajo dejansko več načinov prenosa:
- Način vodila SPI: ESP32 ima več kot 1 vodilo SPI, lahko ga prilagodite med inicializacijo
- 1-bitni / 4-bitni način vodila SD: ESP32 nameni drugo knjižnico, imenovano SD_MMC, za izvajanje API-ja načina vodila SD
- Način SD UHS-II: ESP32 ni podprt
Ref.:
www.arduino.cc/en/reference/SD
en.wikipedia.org/wiki/SD_card
docs.espressif.com/projects/esp-idf/en/lat…
Korak: Preslikava zatičev ESP32 GPIO
Tu je privzeto preslikavanje zatičev ESP32 GPIO:
Pin za kartico SD | MicroSD pin | Ime | 4-bitno vodilo SD | 1-bitno vodilo SD | SPI vodilo (zatiči HSPI / VSPInative) |
1 | 2 | D3 | 13 | - | SS (15/5) |
2 | 3 | CMD | 15 | 15 | MOSI (13/23) |
3 | - | VSS | GND | GND | GND |
4 | 4 | VDD | 3.3V | 3.3V | 3.3V |
5 | 5 | CLK | 14 | 14 | SCK (14/18) |
6 | 6 | VSS | GND | GND | GND |
7 | 7 | D0 | 2 | 2 | MISO (12/19) |
8 | 8 | D1 | 4 | - | - |
9 | 1 | D2 | 12 | - | - |
Preslikave zatičev GPIO 1-bitnega / 4-bitnega vodila SD ni mogoče spremeniti.
Preprost klic SD_MMC begin () v začetni način 4-bitnega vodila SD:
SD_MMC.begin ();
Način 1-bitnega vodila SD lahko izberete pri metodi SD_MMC begin (), npr.
SD_MMC.begin ("/cdcard", res);
Med ustvarjanjem primerka SPIClass lahko izberete vodilo SPI (HSPI ali VSPI), npr.
SPIClass spi = SPIClass (HSPI);
Kot lahko vidite, 1-bitni / 4-bitni zatiči za izmenjavo pin vodila SD s HSPI, vendar preslikava zatičev kartice SD ni enaka. Torej, če je strojna oprema povezana v skladu z zemljevidom pin vodila SD, ne more neposredno uporabiti izvornih zatičev HSPI. Zatiče GPIO je mogoče preglasiti pri metodi SPIClass begin (), npr.
SPIClass spi = SPIClass (HSPI);
spi.begin (14 / * SCK * /, 2 / * MISO * /, 15 / * MOSI * /, 13 / * SS * /);
Knjižnica SD lahko preglasi tudi pin pin SS, vodilo SPI in frekvenco vodila pri metodi SD begin (), npr.
SD.začetek (13 / * SS * /, spi, 80000000);
3. korak: Zahteve za vlečenje SD
Če želite uporabiti 4-bitni način vodila SD, prosimo, da se držite upoštevanja zahtev za vlečenje navzgor ESP32 SD, zlasti:
- Vlečni konflikti na GPIO13
- Konflikti med Bootstrapom in SDIO na DAT2
Ref.:
docs.espressif.com/projects/esp-idf/en/lat…
4. korak: Različna strojna oprema
ESP32 ima veliko kompletov za razvijalce in razvojno ploščo, nekateri med njimi imajo vgrajeno režo za kartice MicroSD.
Tu je nekaj primerov v mojih rokah:
- TTGO T-Watch, povezan je z zatiči GPIO 2, 13, 14 in 15 v skladu z načinom 1-bitnega vodila SD, zato lahko uporablja 1-bitni način vodila SD in način vodila SPI
- Serija M5Stack je povezana z zatiči 4, 18, 19 in 23 GPIO v skladu z izvornimi zatiči VSPI, zato lahko uporablja privzete nastavitve knjižnice SD [SD.begin (4)]
- ODROID-GO, povezan je z zatiči GPIO 18, 19, 22 in 23 v skladu z izvornimi zatiči VSPI, zato lahko uporablja privzete nastavitve knjižnice SD [SD.begin (22)]
- ESP32-CAM, povezan je z zatiči GPIO 2, 4, 12, 13, 14 in 15 v skladu s 4-bitnim načinom vodila SD, zato lahko uporablja vse načine 4-bitnega / 1-bitnega vodila SD in način vodila SPI
- Razvojna plošča TTGO T8, povezana z zatiči GPIO 2, 13, 14 in 15 v skladu z načinom 1-bitnega vodila SD, tako da lahko uporablja način 1-bitnega vodila SD in način vodila SPI
www.lilygo.cn/prod_view.aspx?Id=1123
docs.m5stack.com/
wiki.odroid.com/odroid_go/odroid_go
wiki.ai-thinker.com/esp32-cam
github.com/LilyGO/TTGO-T8-ESP32
5. korak: Odmična plošča za režo za SD kartico
Razvijalna plošča z vgrajeno režo za kartico MicroSD morda ne poveže vseh zatičev in večina ne more uporabljati načina 4-bitnega vodila SD. Posamezna odmična plošča za režo za kartico SD zagotavlja večjo prilagodljivost.
Hkrati pa številne odklopne plošče LCD razbijejo tudi režo za kartico SD polne velikosti. Vendar pa večina od njih prekine le zatiče načina SPI. Ni dovolj, da ga uporabljate kot način 4-bitnega vodila SD, vendar ga lahko še vedno uporabite kot način 1-bitnega vodila SD s tem preslikavo povezave:
LCD -> ESP32
SD_CS -> nič SD_MOSI -> 15 SD_MISO -> 2 SD_SCK -> 14
6. korak: Odklopite GPIO 2 med programom
Zaradi povezave v načinu 4-bitnega vodila SD ESP32 ni uspel vstopiti v programski način. Preden naložite nov program, ne pozabite odstraniti GPIO 2 s plošče za prekinitev reže za kartico SD DAT0.
Korak 7: Merilo uspešnosti
Za merilo uspešnosti sem napisal preprost program Arduino:
github.com/moononournation/ESP32_SD_Benchm…
Tu je strojna oprema za merilo uspešnosti:
ESP32
NodeMCU ESP32-32S V1.1 (WROOM-32)
Reža za SD kartico
Odklopna plošča za režo za kartico MicroSD
SD kartice
V roki imam SanDisk 8 GB MicroSD in stari 128 MB MicroSD.
8. korak: Primerjava 4-bitnega načina SD_MMC
SanDisk 8 GB MicroSD
20: 27: 46.000 -> Testni zapis /test_1k.bin
20: 27: 59.399 -> Uporabljena datoteka za pisanje: 13404 ms, 312.914368 KB/s 20: 27: 59.399 -> Testni zapis/test_2k.bin 20: 28: 17.248 -> Uporabljena datoteka za zapis: 17834 ms, 235.185822 KB/s 20: 28: 17.248 -> Test write /test_4k.bin 20: 28: 21.122 -> Uporabljena datoteka zapisa: 3873 ms, 1082.959961 KB /s 20: 28: 21.122 -> Test write /test_8k.bin 20: 28: 23.147 -> Uporabljena datoteka za pisanje: 2024 ms, 2072.284668 KB/s 20: 28: 23.147 -> Test write /test_16k.bin 20: 28: 27.237 -> Uporabljena datoteka za zapis: 4097 ms, 1023.750061 KB/s 20: 28: 27.237 -> Test write /test_32k.bin 20: 28: 30.088 -> Uporabljena datoteka za zapis: 2842 ms, 1475.828247 KB /s 20: 28: 30.088 -> Test write /test_64k.bin 20: 28: 31.882 -> Uporabljena datoteka za zapis: 1811 ms, 2316.015381 KB /s 20: 28: 31.882 -> Testno branje /test_1k.bin 20: 28: 35.422 -> Uporabljena datoteka branja: 3520 ms, 1191.563599 KB /s 20: 28: 35.422 -> Testno branje /test_2k.bin 20: 28: 38.813 -> Uporabljena datoteka branja: 3389 ms, 1237.622925 KB/s 20: 28: 38.813 -> Testno branje /test_4k.bin 20: 28: 42.273 -> Uporabljena datoteka branja: 3474 ms, 1207.341431 KB/s 20:28: 42.273 -> Testno branje /test_8k.bin 20: 28: 45.752 - > Uporabljena datoteka branja: 3487 ms, 1202.840210 KB/s 20: 28: 45.752 -> Testno branje /test_16k.bin 20: 28: 48.988 -> Uporabljena datoteka branja: 3213 ms, 1305.416748 KB/s 20: 28: 48.988 -> Testno branje /test_32k.bin 20: 28: 52.077 -> Uporabljena prebrana datoteka: 3093 ms, 1356.063354 KB /s 20: 28: 52.077 -> Testno branje /test_64k.bin 20: 28: 55.141 -> Prebrana datoteka: 3080 ms, 1361.786987 KB/s
Stari 128 MB MicroSD
20: 30: 43.309 -> E (274) sdmmc_sd: sdmmc_check_scr: send_scr vrnjeno 0x109
20: 30: 43.309 -> Vstavljanje kartice ni uspelo
9. korak: Primerjalnik 1-bitnega načina SD_MMC
SanDisk 8 GB MicroSD
20: 31: 45.194 -> Testni zapis /test_1k.bin
20: 31: 59.506 -> Uporabljena datoteka za zapis: 14325 ms, 292.796082 KB/s 20: 31: 59.506 -> Test write /test_2k.bin 20: 32: 17.686 -> Uporabljena datoteka za zapis: 18163 ms, 230.925735 KB/s 20: 32: 17.686 -> Test write /test_4k.bin 20: 32: 21.291 -> Uporabljena datoteka zapisa: 3611 ms, 1161.535278 KB /s 20: 32: 21.291 -> Test write /test_8k.bin 20: 32: 23.939 -> Uporabljena datoteka za pisanje: 2652 ms, 1581.562622 KB/s 20: 32: 23.939 -> Testni zapis/test_16k.bin 20: 32: 28.397 -> Uporabljena datoteka za zapis: 4448 ms, 942.964050 KB/s 20: 32: 28.397 -> Test write /test_32k.bin 20: 32: 31.835 -> Uporabljena datoteka za zapis: 3429 ms, 1223.185791 KB /s 20: 32: 31.835 -> Test write /test_64k.bin 20: 32: 33.882 -> Uporabljena datoteka za zapis: 2058 ms, 2038.048584 KB /s 20: 32: 33.882 -> Testno branje /test_1k.bin 20: 32: 38.031 -> Uporabljena datoteka branja: 4146 ms, 1011.650757 KB /s 20: 32: 38.031 -> Testno branje /test_2k.bin 20: 32: 42.062 -> Uporabljena datoteka branja: 4019 ms, 1043.618774 KB/s 20: 32: 42.062 -> Testno branje /test_4k.bin 20: 32: 46.170 -> Uporabljena datoteka branja: 4106 ms, 1021.506104 KB/s 20:32: 46.170 -> Testno branje /test_8k.bin 20: 32: 50.288 -> Uporabljena prebrana datoteka: 4121 ms, 1017.787903 KB/s 20: 32: 50.288 -> Testno branje /test_16k.bin 20: 32: 54.112 -> Uporabljena prebrana datoteka: 3840 ms, 1092.266724 KB/s 20: 32: 54.112 -> Test read /test_32k.bin 20: 32: 57.840 -> Uporabljena datoteka branja: 3739 ms, 1121.771606 KB /s 20: 32: 57.840 -> Test read /test_64k.bin 20: 33: 01.568 -> Uporabljena datoteka branja: 3711 ms, 1130,235474 KB/s
Stari 128 MB MicroSD
20: 33: 27.366 -> Testni zapis /test_1k.bin
20: 33: 42.386 -> Uporabljena datoteka zapisa: 15020 ms, 279.247925 KB/s 20: 33: 42.386 -> Test write /test_2k.bin 20: 33: 57.927 -> Uporabljena datoteka zapisa: 15515 ms, 270.338654 KB/s 20: 33: 57.927 -> Test write /test_4k.bin 20: 34: 13.108 -> Uporabljena datoteka zapisa: 15195 ms, 276.031860 KB /s 20: 34: 13.108 -> Test write /test_8k.bin 20: 34: 28.162 -> Uporabljena datoteka za pisanje: 15048 ms, 278.728333 KB/s 20: 34: 28.162 -> Test write /test_16k.bin 20: 34: 43.287 -> Uporabljena datoteka za zapis: 15142 ms, 276.998016 KB/s 20: 34: 43.287 -> Test write /test_32k.bin 20: 34: 58.278 -> Uporabljena datoteka za zapis: 14964 ms, 280.292969 KB /s 20: 34: 58.278 -> Test write /test_64k.bin 20: 35: 13.370 -> Uporabljena datoteka za zapis: 15101 ms, 277.750092 KB /s 20: 35: 13.370 -> Testno branje /test_1k.bin 20: 35: 17.563 -> Uporabljena datoteka branja: 4197 ms, 999.357666 KB /s 20: 35: 17.563 -> Testno branje /test_2k.bin 20: 35: 21.746 -> Uporabljena datoteka branja: 4191 ms, 1000.788330 KB/s 20: 35: 21.746 -> Testno branje /test_4k.bin 20: 35: 25.942 -> Uporabljena datoteka branja: 4181 ms, 1003.182007 KB/s 20:35: 25.942 -> Testno branje /test_8k.bin 20: 35: 30.101 -> Uporabljena prebrana datoteka: 4176 ms, 1004.383118 KB/s 20: 35: 30.101 -> Testno branje /test_16k.bin 20: 35: 34.279 -> Uporabljena prebrana datoteka: 4174 ms, 1004.864380 KB/s 20: 35: 34.279 -> Test read /test_32k.bin 20: 35: 38.462 -> Uporabljena datoteka branja: 4173 ms, 1005.105225 KB /s 20: 35: 38.462 -> Test read /test_64k.bin 20: 35: 42.612 -> Uporabljena datoteka branja: 4173 ms, 1005.105225 KB/s
Korak: Način SD SPI pri merilu vodila HSPI Bus
SanDisk 8 GB MicroSD
08: 41: 19,703 -> Testni zapis /test_1k.bin
08: 41: 53.458 -> Uporabljena datoteka za zapis: 33743 ms, 124.301453 KB/s 08: 41: 53.458 -> Test write /test_2k.bin 08: 42: 10.000 -> Uporabljena datoteka za zapis: 16540 ms, 253.585495 KB/s 08: 42: 10.000 -> Test write /test_4k.bin 08: 42: 17.269 -> Uporabljena datoteka zapisa: 7298 ms, 574.719666 KB /s 08: 42: 17.308 -> Test write /test_8k.bin 08: 42: 22.640 -> Uporabljena datoteka za pisanje: 5345 ms, 784.715454 KB/s 08: 42: 22.640 -> Test write /test_16k.bin 08: 42: 32.285 -> Uporabljena datoteka za zapis: 9662 ms, 434.103088 KB/s 08: 42: 32.285 -> Test write /test_32k.bin 08: 42: 36.659 -> Uporabljena datoteka za zapis: 4355 ms, 963.100830 KB /s 08: 42: 36.659 -> Test write /test_64k.bin 08: 42: 39.594 -> Zapis uporabljene datoteke: 2949 ms, 1422.280151 KB /s 08: 42: 39.594 -> Testno branje /test_1k.bin 08: 42: 44.774 -> Uporabljena datoteka branja: 5192 ms, 807.839783 KB /s 08: 42: 44.774 -> Testno branje /test_2k.bin 08: 42: 49.969 -> Uporabljena datoteka branja: 5189 ms, 808.306824 KB/s 08: 42: 49.969 -> Testno branje /test_4k.bin 08: 42: 55.123 -> Uporabljena datoteka branja: 5161 ms, 812.692139 KB/s 08:42: 55.158 -> Testno branje /test_8k.bin 08: 43: 00.300 -> Beri uporabljena datoteka: 5176 ms, 810.336914 KB/s 08: 43: 00.334 -> Testno branje /test_16k.bin 08: 43: 05.277 -> Uporabljena datoteka branja: 4948 ms, 847.676636 KB/s 08: 43: 05.277 -> Testno branje /test_32k.bin 08: 43: 10.028 -> Uporabljena datoteka branja: 4773 ms, 878.756348 KB /s 08: 43: 10.028 -> Testno branje /test_64k.bin 08: 43: 14.760 -> Uporabljena datoteka branja: 4731 ms, 886.557617 KB/s
Stari 128 MB MicroSD
08: 43: 47.777 -> Testni zapis /test_1k.bin
08: 44: 04.148 -> Uporabljena datoteka za pisanje: 16390 ms, 255.906281 KB/s 08: 44: 04.183 -> Test write /test_2k.bin 08: 44: 20.648 -> Uporabljena datoteka za zapis: 16494 ms, 254.292709 KB/s 08: 44: 20.648 -> Test write /test_4k.bin 08: 44: 36.674 -> Uporabljena datoteka zapisa: 16001 ms, 262.127625 KB /s 08: 44: 36.674 -> Test write /test_8k.bin 08: 44: 52.849 -> Uporabljena datoteka za pisanje: 16175 ms, 259.307831 KB/s 08: 44: 52.849 -> Test write /test_16k.bin 08: 45: 09.225 -> Uporabljena datoteka za zapis: 16397 ms, 255.797043 KB/s 08: 45: 09.225 -> Test write /test_32k.bin 08: 45: 25.363 -> Uporabljena datoteka za pisanje: 16143 ms, 259.821838 KB /s 08: 45: 25.397 -> Test write /test_64k.bin 08: 45: 41.632 -> Uporabljena datoteka za pisanje: 16263 ms, 257.904694 KB /s 08: 45: 41.632 -> Testno branje /test_1k.bin 08: 45: 46.488 -> Uporabljena datoteka branja: 4856 ms, 863.736389 KB /s 08: 45: 46.488 -> Testno branje /test_2k.bin 08: 45: 51.332 -> Uporabljena datoteka branja: 4840 ms, 866.591736 KB/s 08: 45: 51.332 -> Testno branje /test_4k.bin 08: 45: 56.163 -> Uporabljena datoteka branja: 4834 ms, 867.667358 KB/s 08:45: 56.163 -> Testno branje /test_8k.bin 08: 46: 00.998 -> R uporabljena datoteka ead: 4827 ms, 868.925598 KB/s 08: 46: 00.998 -> Testno branje /test_16k.bin 08: 46: 05.808 -> Uporabljena datoteka branja: 4825 ms, 869.285828 KB/s 08: 46: 05.843 -> Test read /test_32k.bin 08: 46: 10.637 -> Uporabljena datoteka branja: 4824 ms, 869.466003 KB /s 08: 46: 10.637 -> Test read /test_64k.bin 08: 46: 15.478 -> Uporabljena datoteka branja: 4825 ms, 869,285828 KB/s
Korak 11: Način SD SPI pri merilu VSPI Bus Benchmark
SanDisk 8 GB MicroSD
08: 54: 17.412 -> Testni zapis /test_1k.bin
08: 54: 48.398 -> Uporabljena datoteka za zapis: 30994 ms, 135.326324 KB/s 08: 54: 48.398 -> Testni zapis/test_2k.bin 08: 55: 06.079 -> Uporabljena datoteka za zapis: 17677 ms, 237.274658 KB/s 08: 55: 06.079 -> Test write /test_4k.bin 08: 55: 13.357 -> Uporabljena datoteka zapisa: 7274 ms, 576.615906 KB /s 08: 55: 13.357 -> Test write /test_8k.bin 08: 55: 18.691 -> Uporabljena datoteka za pisanje: 5323 ms, 787.958679 KB/s 08: 55: 18.691 -> Test write /test_16k.bin 08: 55: 28.336 -> Uporabljena datoteka za zapis: 9669 ms, 433.788818 KB/s 08: 55: 28.336 -> Test write /test_32k.bin 08: 55: 32.646 -> Uporabljena datoteka za zapis: 4309 ms, 973.382202 KB /s 08: 55: 32.646 -> Test write /test_64k.bin 08: 55: 35.551 -> Uporabljena datoteka za zapis: 2915 ms, 1438.869263 KB /s 08: 55: 35.584 -> Testno branje /test_1k.bin 08: 55: 40.745 -> Uporabljena datoteka branja: 5183 ms, 809.242554 KB /s 08: 55: 40.745 -> Testno branje /test_2k.bin 08: 55: 45.916 -> Uporabljena datoteka branja: 5182 ms, 809.398682 KB/s 08: 55: 45.949 -> Testno branje /test_4k.bin 08: 55: 51.091 -> Uporabljena datoteka branja: 5162 ms, 812.534668 KB/s 08:55: 51.091 -> Testno branje /test_8k.bin 08: 55: 56.257 -> Beri uporabljena datoteka: 5177 ms, 810.180420 KB/s 08: 55: 56.293 -> Testno branje /test_16k.bin 08: 56: 01.244 -> Uporabljena prebrana datoteka: 4956 ms, 846.308289 KB/s 08: 56: 01.244 -> Testno branje /test_32k.bin 08: 56: 06.006 -> Uporabljena datoteka branja: 4764 ms, 880.416443 KB /s 08: 56: 06.006 -> Testno branje /test_64k.bin 08: 56: 10.716 -> Uporabljena datoteka branja: 4728 ms, 887.120117 KB/s
Stari 128 MB MicroSD
08: 51: 01.939 -> Testni zapis /test_1k.bin
08: 51: 18.358 -> Uporabljena datoteka za pisanje: 16422 ms, 255.407623 KB/s 08: 51: 18.358 -> Test write /test_2k.bin 08: 51: 34.529 -> Uporabljena datoteka za pisanje: 16173 ms, 259.339874 KB/s 08: 51: 34.529 -> Test write /test_4k.bin 08: 51: 50.911 -> Uporabljena datoteka zapisa: 16372 ms, 256.187653 KB /s 08: 51: 50.911 -> Test write /test_8k.bin 08: 52: 07.056 -> Uporabljena datoteka za zapisovanje: 16137 ms, 259.918457 KB/s 08: 52: 07.056 -> Testni zapis/test_16k.bin 08: 52: 23.383 -> Uporabljena datoteka za zapis: 16351 ms, 256.516663 KB/s 08: 52: 23.383 -> Test write /test_32k.bin 08: 52: 39.533 -> Uporabljena datoteka za zapis: 16128 ms, 260.063507 KB /s 08: 52: 39.533 -> Test write /test_64k.bin 08: 52: 55.764 -> Uporabljena datoteka za zapis: 16250 ms, 258.111023 KB /s 08: 52: 55.764 -> Testno branje /test_1k.bin 08: 53: 00.645 -> Uporabljena datoteka branja: 4855 ms, 863.914307 KB /s 08: 53: 00.645 -> Testno branje /test_2k.bin 08: 53: 05.459 -> Uporabljena prebrana datoteka: 4839 ms, 866.770813 KB/s 08: 53: 05.459 -> Testno branje /test_4k.bin 08: 53: 10.306 -> Uporabljena prebrana datoteka: 4833 ms, 867.846863 KB/s 08:53: 10.306 -> Testno branje /test_8k.bin 08: 53: 15.127 -> R Uporabljena datoteka ead: 4827 ms, 868.925598 KB/s 08: 53: 15.127 -> Testno branje /test_16k.bin 08: 53: 19.963 -> Uporabljena datoteka branja: 4826 ms, 869.105652 KB/s 08: 53: 19.963 -> Test read /test_32k.bin 08: 53: 24.758 -> Prebrana uporabljena datoteka: 4824 ms, 869.466003 KB /s 08: 53: 24.792 -> Test read /test_64k.bin 08: 53: 29.592 -> Prebrana datoteka: 4824 ms, 869,466003 KB/s
12. korak: Zaokrožite
Način 4-bitnega vodila SD ima najboljše zmogljivosti, 1-bitni način vodila SD je približno 20% počasnejši, način SPI pa približno 50% počasnejši. Eden glavnih razlogov je, da plast protokola SD_MMC ne izvaja nobenega zaklepanja, vendar SPI. Način 4-bitnega vodila SD ima dvojne podatkovne linije, zato teoretično podvoji hitrost. Toda moj stari MicroSD ne podpira načina 4-bitnega vodila SD.
V večini primerov bom priporočil način 1-bitnega vodila SD, ker:
- dobra izvedba
- boljša združljivost s kartico SD
- ohlapnejše zahteve po vlečenju SD
- potrebni so samo 3 zatiči GPIO
- manjša konfiguracija kode
- ta način lahko uporabljajo številni kompleti za razvijalce, plošča za razvijalce in odbojna plošča
Priporočena:
Izberite naslov in ključne besede za vaš pouk: 6 korakov (s slikami)
Izberite naslov in ključne besede za vaš pouk: Izbira pravega naslova in ključnih besed je lahko razlika med poukom, ki gre na prvo stran Googlovih rezultatov iskanja ali se zruši in zažge v grozljivo deželo internetnih strani brez ogledov. Čeprav ključne besede in naslov niso edini
Arduino PS/2 vmesnik USB: 7 korakov (s slikami)
Adapter Arduino PS/2 na USB: Ste kdaj želeli uporabiti svojo staro tipkovnico PS/2 s prenosnikom ali novim namiznim računalnikom in ugotovili, da nimajo več vrat PS/2? In potem, namesto da bi šel kupiti poceni adapter PS/2 na USB, kot bi to naredil navaden človek, je hotel uporabiti tvoj Arduin
Izberite nadomestne senzorje v vezjih Tinkercad: 3 koraki (s slikami)
Izberite nadomestne senzorje v vezjih Tinkercad: Po zasnovi Tinkercad vezja vsebuje omejeno knjižnico pogosto uporabljenih elektronskih komponent. Ta kuracija začetnikom olajša krmarjenje po zapletenosti sveta elektronike, ne da bi se pri tem preobremenili. Slaba stran je, da če
Vmesnik IR kamere za disketo: 8 korakov (s slikami)
Flock Disk IR Camera Hack: Zadnjih sedem let sem imel pokvarjen digitalni fotoaparat. Še vedno lahko fotografira, vendar je zaradi zlomljenega zaslona skoraj nemogoče uporabiti. Temeljna težava je v tem, da se včasih meni po nesreči prikaže
Izbiralec barv Arduino RGB - Izberite barve iz predmetov iz resničnega življenja: 7 korakov (s slikami)
Izbirnik barv Arduino RGB - izbirajte barve iz predmetov iz resničnega življenja: preprosto izbirajte barve iz fizičnih predmetov s tem izbirnikom barv RGB na osnovi Arduino, kar vam omogoča, da na računalniku ali mobilnem telefonu ponovno ustvarite barve, ki jih vidite v resničnih predmetih. Preprosto pritisnite gumb za skeniranje barve predmeta s poceni TCS347