Talaan ng mga Nilalaman:
- Hakbang 1: SD Interface
- Hakbang 2: Pagma-map ng Pins ng ESP32 GPIO
- Hakbang 3: Mga Kinakailangan sa Pag-pull-up ng SD
- Hakbang 4: Iba't ibang Hardware
- Hakbang 5: SD Card Slot Breakout Board
- Hakbang 6: I-detach ang GPIO 2 Habang Program
- Hakbang 7: Benchmark
- Hakbang 8: SD_MMC 4-bit Mode Benchmark
- Hakbang 9: SD_MMC 1-bit Mode Benchmark
- Hakbang 10: SD SPI Mode sa HSPI Bus Benchmark
- Hakbang 11: SD SPI Mode sa VSPI Bus Benchmark
- Hakbang 12: Pag-ikot
Video: Piliin ang SD Interface para sa ESP32: 12 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ang mga itinuturo na ito ay nagpapakita ng isang bagay tungkol sa pagpili ng isang SD interface para sa iyong proyekto sa ESP32.
Hakbang 1: SD Interface
Sa orihinal na Arduino SD library, ang SD Interface ay gumagamit ng SD SPI bus transfer mode.
Ang SD ay talagang mayroong higit na mode sa paglipat:
- SPI bus mode: Ang ESP32 ay may higit sa 1 SPI bus, maaari itong ipasadya habang pinasimulan
- 1-bit / 4-bit SD bus mode: inilalaan ng ESP32 ang isa pang silid-aklatan na tinatawag na SD_MMC upang ipatupad ang SD bus mode API
- SD UHS-II mode: Hindi suportado ang ESP32
Ref.:
www.arduino.cc/en/referensi/SD
en.wikipedia.org/wiki/SD_card
docs.espressif.com/projects/esp-idf/en/lat…
Hakbang 2: Pagma-map ng Pins ng ESP32 GPIO
Narito ang default na pagmamapa ng mga pin ng ESP32 GPIO:
Pin ng SD card | MicroSD pin | Pangalan | 4-bit na SD bus | 1-bit na SD bus | SPI bus (HSPI / VSPInative pins) |
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 | - | - |
Ang GPIO pin na pagmamapa ng 1-bit / 4-bit SD bus ay hindi mababago.
Simpleng tawagan ang SD_MMC magsisimula () sa paunang 4-bit SD bus mode:
SD_MMC.begin ();
Ang 1-bit SD bus mode ay maaaring mapili sa SD_MMC begin () na paraan, hal.
SD_MMC.begin ("/ cdcard", totoo);
Maaaring mapili ang SPI bus (HSPI o VSPI) habang lilikha ng halimbawa ng SPIClass, hal.
SPIClass spi = SPIClass (HSPI);
Tulad ng nakikita mo ang 1-bit / 4-bit SD bus pin na nagbahagi ng mga pin sa HSPI ngunit ang pagmamapa ng mga kard ng SD card ay hindi pareho. Kaya't kung nakakonekta ang hardware alinsunod sa map ng SD bus pin, hindi nito maaaring direktang gamitin ang mga katutubong pin na HSPI. Ang mga GPIO pin ay maaaring ma-override sa SPIClass start () na paraan, hal.
SPIClass spi = SPIClass (HSPI);
spi.begin (14 / * SCK * /, 2 / * MISO * /, 15 / * MOSI * /, 13 / * SS * /);
At maaari ding i-override ng SD library ang SS pin, SPI bus at dalas ng bus sa paraan ng pagsisimula ng (SD), hal.
SD.begin (13 / * SS * /, spi, 80000000);
Hakbang 3: Mga Kinakailangan sa Pag-pull-up ng SD
Kung nais mong gumamit ng 4-bit SD bus mode, mangyaring malagkit sundin ang Mga Kinakailangan sa Pull-up na ESP32 SD, lalo na:
- Pull-up na Mga Salungatan sa GPIO13
- Mga Salungatan sa pagitan ng Bootstrap at SDIO sa DAT2
Ref.:
docs.espressif.com/projects/esp-idf/en/lat…
Hakbang 4: Iba't ibang Hardware
Ang ESP32 ay may tone-toneladang dev kit at dev board, ang ilan sa mga ito ay may built-in na slot ng MicroSD card.
Narito ang ilang halimbawa sa aking kamay:
- Ang TTGO T-Watch, kumonekta ito sa GPIO pin 2, 13, 14 at 15 ayon sa 1-bit SD bus mode, kaya maaari itong gumamit ng 1-bit SD bus mode at SPI bus mode
- M5Stack Series, kumonekta ito sa GPIO pin 4, 18, 19 at 23 ayon sa mga katutubong pin ng VSPI, kaya maaari itong gumamit ng mga default na setting ng library ng SD [SD.begin (4)]
- ODROID-GO, kumonekta ito sa GPIO pin 18, 19, 22 at 23 ayon sa mga katutubong pin ng VSPI, kaya maaari itong gumamit ng mga default na setting ng library ng SD [SD.begin (22)]
- Ang ESP32-CAM, nakakonekta ito sa GPIO pin 2, 4, 12, 13, 14 at 15 ayon sa 4-bit SD bus mode, kaya maaari nitong gamitin ang lahat ng 4-bit / 1-bit SD bus mode at SPI bus mode
- TTGO T8 dev board, nakakonekta ito sa GPIO pin 2, 13, 14 at 15 ayon sa 1-bit SD bus mode, kaya maaari itong gumamit ng 1-bit SD bus mode at SPI bus mode
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
Hakbang 5: SD Card Slot Breakout Board
Ang Dev board na may built-in na slot ng MicroSD card ay maaaring hindi konektado sa lahat ng mga pin at karamihan ay hindi maaaring gumamit ng 4-bit SD bus mode. Ang isang indibidwal na SD card slot breakout board ay nagbibigay ng mas mahusay na kakayahang umangkop.
Sa parehong oras, maraming mga breakout board ng LCD din ang breakout ng isang buong laki ng puwang ng SD card. Gayunpaman, karamihan sa kanila ay sinisira lamang ang mga pin ng SPI mode. Hindi sapat upang magamit bilang 4-bit SD bus mode, ngunit maaari mo pa rin itong magamit bilang 1-bit SD bus mode sa pamamagitan ng pagmamapa ng koneksyon na ito:
LCD -> ESP32
SD_CS -> nil SD_MOSI -> 15 SD_MISO -> 2 SD_SCK -> 14
Hakbang 6: I-detach ang GPIO 2 Habang Program
Ang 4-bit na koneksyon ng SD bus mode na nabigo sa ESP32 ay hindi pumasok sa mode ng programa. Mangyaring tandaan na alisin ang GPIO 2 mula sa SD card slot breakout board DAT0 bago mag-upload ng bagong programa.
Hakbang 7: Benchmark
Sumulat ako ng isang simpleng programa ng Arduino para sa benchmark:
github.com/moononournation/ESP32_SD_Benchm…
Narito ang hardware para sa benchmark:
ESP32
NodeMCU ESP32-32S V1.1 (WROOM-32)
Slot ng SD Card
Isang breakout board ng slot ng MicroSD card
SD Card
Mayroon akong isang SanDisk 8 GB MicroSD at isang lumang 128 MB MicroSD sa kamay.
Hakbang 8: SD_MMC 4-bit Mode Benchmark
SanDisk 8 GB MicroSD
20: 27: 46.000 -> Pagsusulat sumulat / test_1k.bin
20: 27: 59.399 -> Sumulat ng ginamit na file: 13404 ms, 312.914368 KB / s 20: 27: 59.399 -> Pagsulat ng pagsusulat /test_2k.bin 20: 28: 17.248 -> Sumulat ng ginamit na file: 17834 ms, 235.185822 KB / s 20: 28: 17.248 -> Pagsulat ng pagsusulat / test_4k.bin 20: 28: 21.122 -> Sumulat ng ginamit na file: 3873 ms, 1082.959961 KB / s 20: 28: 21.122 -> Pagsulat isulat /test_8k.bin 20: 28: 23.147 -> Sumulat ng file na ginamit: 2024 ms, 2072.284668 KB / s 20: 28: 23.147 -> Pagsulat ng pagsusulat / test_16k.bin 20: 28: 27.237 -> Sumulat ng ginamit na file: 4097 ms, 1023.750061 KB / s 20: 28: 27.237 -> Pagsubok isulat /test_32k.bin 20: 28: 30.088 -> Sumulat ng ginamit na file: 2842 ms, 1475.828247 KB / s 20: 28: 30.088 -> Pagsubok isulat /test_64k.bin 20: 28: 31.882 -> Sumulat ng ginamit na file: 1811 ms, 2316.015381 KB / s 20: 28: 31.882 -> Basahin ang pagsubok / test_1k.bin 20: 28: 35.422 -> Basahin ang ginamit na file: 3520 ms, 1191.563599 KB / s 20: 28: 35.422 -> Basahin ang pagsubok /test_2k.bin 20: 28: 38.813 -> Basahin ang ginamit na file: 3389 ms, 1237.622925 KB / s 20: 28: 38.813 -> Basahin ang pagsubok / pagsubok_4k.bin 20: 28: 42.273 -> Basahin ang ginamit na file: 3474 ms, 1207.341431 KB / s 20:28: 42.273 -> Basahin ang pagsubok / pagsubok_8k.bin 20: 28: 45.752 - > Basahin ang ginamit na file: 3487 ms, 1202.840210 KB / s 20: 28: 45.752 -> Basahin ang pagsubok / test_16k.bin 20: 28: 48.988 -> Basahin ang ginamit na file: 3213 ms, 1305.416748 KB / s 20: 28: 48.988 -> Basahin ang pagsubok / test_32k.bin 20: 28: 52.077 -> Basahin ang ginamit na file: 3093 ms, 1356.063354 KB / s 20: 28: 52.077 -> Basahin ang pagsubok / test_64k.bin 20: 28: 55.141 -> Basahin ang ginamit na file: 3080 ms, 1361.786987 KB / s
Lumang 128 MB MicroSD
20: 30: 43.309 -> E (274) sdmmc_sd: sdmmc_check_scr: bumalik ang send_scr 0x109
20: 30: 43.309 -> Nabigo ang Mount Mount
Hakbang 9: SD_MMC 1-bit Mode Benchmark
SanDisk 8 GB MicroSD
20: 31: 45.194 -> Pagsubok isulat /test_1k.bin
20: 31: 59.506 -> Sumulat ng ginamit na file: 14325 ms, 292.796082 KB / s 20: 31: 59.506 -> Pagsulat isulat /test_2k.bin 20: 32: 17.686 -> Sumulat ng ginamit na file: 18163 ms, 230.925735 KB / s 20: 32: 17.686 -> Pagsulat ng pagsusulat / test_4k.bin 20: 32: 21.291 -> Sumulat ng file na ginamit: 3611 ms, 1161.535278 KB / s 20: 32: 21.291 -> Pagsulat ng pagsusulat /test_8k.bin 20: 32: 23.939 -> Sumulat ng file na ginamit: 2652 ms, 1581.562622 KB / s 20: 32: 23.939 -> Pagsulat ng pagsusulat / test_16k.bin 20: 32: 28.397 -> Sumulat ng ginamit na file: 4448 ms, 942.964050 KB / s 20: 32: 28.397 -> Pagsubok isulat /test_32k.bin 20: 32: 31.835 -> Sumulat ng ginamit na file: 3429 ms, 1223.185791 KB / s 20: 32: 31.835 -> Pagsubok isulat /test_64k.bin 20: 32: 33.882 -> Sumulat ng ginamit na file: 2058 ms, 2038.048584 KB / s 20: 32: 33.882 -> Basahin ang pagsubok / test_1k.bin 20: 32: 38.031 -> Basahin ang ginamit na file: 4146 ms, 1011.650757 KB / s 20: 32: 38.031 -> Basahin ang pagsubok / test_2k.bin 20: 32: 42.062 -> Basahin ang file na ginamit: 4019 ms, 1043.618774 KB / s 20: 32: 42.062 -> Basahin ang pagsubok / test_4k.bin 20: 32: 46.170 -> Basahin ang ginamit na file: 4106 ms, 1021.506104 KB / s 20:32: 46.170 -> Basahin ang pagsubok / test_8k.bin 20: 32: 50.288 -> Basahin ang ginamit na file: 4121 ms, 1017.787903 KB / s 20: 32: 50.288 -> Basahin ang pagsubok / test_16k.bin 20: 32: 54.112 -> Basahin ang ginamit na file: 3840 ms, 1092.266724 KB / s 20: 32: 54.112 -> Pagsubok basahin /test_32k.bin 20: 32: 57.840 -> Basahin ang file na ginamit: 3739.771606 KB / s 20: 32: 57.840 -> Basahin ang pagsubok / test_64k.bin 20: 33: 01.568 -> Basahin ang ginamit na file: 3711 ms, 1130.235474 KB / s
Lumang 128 MB MicroSD
20: 33: 27.366 -> Pagsubok isulat /test_1k.bin
20: 33: 42.386 -> Sumulat ng ginamit na file: 15020 ms, 279.247925 KB / s 20: 33: 42.386 -> Pagsulat ng pagsusulat / pagsusulit_2k.bin 20: 33: 57.927 -> Sumulat ng ginamit na file: 15515 ms, 270.338654 KB / s 20: 33: 57.927 -> Pagsulat ng pagsusulat / test_4k.bin 20: 34: 13.108 -> Sumulat ng file na ginamit: 15195 ms, 276.031860 KB / s 20: 34: 13.108 -> Pagsubok isulat /test_8k.bin 20: 34: 28.162 -> Sumulat ng file na ginamit: 15048 ms, 278.728333 KB / s 20: 34: 28.162 -> Pagsulat ng pagsusulat / test_16k.bin 20: 34: 43.287 -> Sumulat ng ginamit na file: 15142 ms, 276.998016 KB / s 20: 34: 43.287 -> Pagsubok isulat /test_32k.bin 20: 34: 58.278 -> Sumulat ng ginamit na file: 14964 ms, 280.292969 KB / s 20: 34: 58.278 -> Pagsubok isulat /test_64k.bin 20: 35: 13.370 -> Sumulat ng ginamit na file: 15101 ms, 277.750092 KB / s 20: 35: 13.370 -> Basahin ang pagsubok / test_1k.bin 20: 35: 17.563 -> Basahin ang ginamit na file: 4197 ms, 999.357666 KB / s 20: 35: 17.563 -> Basahin ang pagsubok / test_2k.bin 20: 35: 21.746 -> Basahin ang ginamit na file: 4191 ms, 1000.788330 KB / s 20: 35: 21.746 -> Basahin ang pagsubok / test_4k.bin 20: 35: 25.942 -> Basahin ang ginamit na file: 4181 ms, 1003.182007 KB / s 20:35: 25.942 -> Basahin ang pagsubok / pagsubok_8k.bin 20: 35: 30.101 -> Basahin ang ginamit na file: 4176 ms, 1004.383118 KB / s 20: 35: 30.101 -> Basahin ang pagsubok / test_16k.bin 20: 35: 34.279 -> Basahin ang ginamit na file: 4174 ms, 1004.864380 KB / s 20: 35: 34.279 -> Pagsubok basahin /test_32k.bin 20: 35: 38.462 -> Basahin ang ginamit na file: 4173 ms, 1005.105225 KB / s 20: 35: 38.462 -> Basahin ang pagsubok / test_64k.bin 20: 35: 42.612 -> Basahin ang ginamit na file: 4173 ms, 1005.105225 KB / s
Hakbang 10: SD SPI Mode sa HSPI Bus Benchmark
SanDisk 8 GB MicroSD
08: 41: 19.703 -> Pagsubok isulat /test_1k.bin
08: 41: 53.458 -> Sumulat ng ginamit na file: 33743 ms, 124.301453 KB / s 08: 41: 53.458 -> Pagsulat ng pagsusulat /test_2k.bin 08: 42: 10.000 -> Sumulat ng ginamit na file: 16540 ms, 253.585495 KB / s 08: 42: 10.000 -> Pagsulat ng pagsusulat / test_4k.bin 08: 42: 17.269 -> Sumulat ng ginamit na file: 7298 ms, 574.719666 KB / s 08: 42: 17.308 -> Pagsulat ng pagsusulat / test_8k.bin 08: 42: 22.640 -> Sumulat ng file na ginamit: 5345 ms, 784.715454 KB / s 08: 42: 22.640 -> Pagsulat ng pagsusulat / test_16k.bin 08: 42: 32.285 -> Sumulat ng ginamit na file: 9662 ms, 434.103088 KB / s 08: 42: 32.285 -> Pagsubok isulat /test_32k.bin 08: 42: 36.659 -> Sumulat ng ginamit na file: 4355 ms, 963.100830 KB / s 08: 42: 36.659 -> Pagsubok isulat /test_64k.bin 08: 42: 39.594 -> Sumulat ng ginamit na file: 2949 ms, 1422.280151 KB / s 08: 42: 39.594 -> Basahin ang pagsubok / test_1k.bin 08: 42: 44.774 -> Basahin ang ginamit na file: 5192 ms, 807.839783 KB / s 08: 42: 44.774 -> Basahin ang pagsubok /test_2k.bin 08: 42: 49.969 -> Basahin ang file na ginamit: 5189 ms, 808.306824 KB / s 08: 42: 49.969 -> Basahin ang pagsubok / pagsubok_4k.bin 08: 42: 55.123 -> Basahin ang ginamit na file: 5161 ms, 812.692139 KB / s 08:42: 55.158 -> Basahin ang pagsubok / pagsubok_8k.bin 08: 43: 00.300 -> Basahin ginamit na file: 5176 ms, 810.336914 KB / s 08: 43: 00.334 -> Basahin ang pagsubok / test_16k.bin 08: 43: 05.277 -> Basahin ang ginamit na file: 4948 ms, 847.676636 KB / s 08: 43: 05.277 -> Basahin ang pagsubok /test_32k.bin 08: 43: 10.028 -> Basahin ang file na ginamit: 4773 ms, 878.756348 KB / s 08: 43: 10.028 -> Basahin ang pagsubok / test_64k.bin 08: 43: 14.760 -> Basahin ang ginamit na file: 4731 ms, 886.557617 KB / s
Lumang 128 MB MicroSD
08: 43: 47.777 -> Pagsusulat sumulat / test_1k.bin
08: 44: 04.148 -> Sumulat ng ginamit na file: 16390 ms, 255.906281 KB / s 08: 44: 04.183 -> Pagsulat ng pagsusulat /test_2k.bin 08: 44: 20.648 -> Sumulat ng ginamit na file: 16494 ms, 254.292709 KB / s 08: 44: 20.648 -> Pagsulat ng pagsusulat / test_4k.bin 08: 44: 36.674 -> Sumulat ng file na ginamit: 16001 ms, 262.127625 KB / s 08: 44: 36.674 -> Pagsubok isulat /test_8k.bin 08: 44: 52.849 -> Sumulat ng file na ginamit: 16175 ms, 259.307831 KB / s 08: 44: 52.849 -> Pagsulat ng pagsusulat / test_16k.bin 08: 45: 09.225 -> Sumulat ng ginamit na file: 16397 ms, 255.797043 KB / s 08: 45: 09.225 -> Pagsubok isulat /test_32k.bin 08: 45: 25.363 -> Sumulat ng ginamit na file: 16143 ms, 259.821838 KB / s 08: 45: 25.397 -> Pagsubok isulat /test_64k.bin 08: 45: 41.632 -> Sumulat ng ginamit na file: 16263 ms, 257.904694 KB / s 08: 45: 41.632 -> Basahin ang pagsubok / pagsubok_1k.bin 08: 45: 46.488 -> Basahin ang ginamit na file: 4856 ms, 863.736389 KB / s 08: 45: 46.488 -> Basahin ang pagsubok / test_2k.bin 08: 45: 51.332 -> Basahin ang file na ginamit: 4840 ms, 866.591736 KB / s 08: 45: 51.332 -> Basahin ang pagsubok / pagsubok_4k.bin 08: 45: 56.163 -> Basahin ang ginamit na file: 4834 ms, 867.667358 KB / s 08:45: 56.163 -> Basahin ang pagsubok / pagsubok_8k.bin 08: 46: 00.998 -> R ginamit ang file ng ead: 4827 ms, 868.925598 KB / s 08: 46: 00.998 -> Basahin ang pagsubok / test_16k.bin 08: 46: 05.808 -> Basahin ang ginamit na file: 4825 ms, 869.285828 KB / s 08: 46: 05.843 -> Pagsubok basahin /test_32k.bin 08: 46: 10.637 -> Basahin ang ginamit na file: 4824 ms, 869.466003 KB / s 08: 46: 10.637 -> Basahin ang pagsubok / test_64k.bin 08: 46: 15.478 -> Basahin ang ginamit na file: 4825 ms, 869.285828 KB / s
Hakbang 11: SD SPI Mode sa VSPI Bus Benchmark
SanDisk 8 GB MicroSD
08: 54: 17.412 -> Pagsusulat sumulat / test_1k.bin
08: 54: 48.398 -> Sumulat ng ginamit na file: 30994 ms, 135.326324 KB / s 08: 54: 48.398 -> Pagsulat ng pagsusulat / pagsusulit_2k.bin 08: 55: 06.079 -> Sumulat ng ginamit na file: 17677 ms, 237.274658 KB / s 08: 55: 06.079 -> Pagsulat ng pagsusulat / test_4k.bin 08: 55: 13.357 -> Sumulat ng file na ginamit: 7274 ms, 576.615906 KB / s 08: 55: 13.357 -> Pagsubok isulat /test_8k.bin 08: 55: 18.691 -> Sumulat ng file na ginamit: 5323 ms, 787.958679 KB / s 08: 55: 18.691 -> Pagsulat ng pagsusulat / test_16k.bin 08: 55: 28.336 -> Sumulat ng ginamit na file: 9669 ms, 433.788818 KB / s 08: 55: 28.336 -> Pagsubok isulat /test_32k.bin 08: 55: 32.646 -> Sumulat ng ginamit na file: 4309 ms, 973.382202 KB / s 08: 55: 32.646 -> Pagsubok isulat /test_64k.bin 08: 55: 35.551 -> Sumulat ng ginamit na file: 2915 ms, 1438.869263 KB / s 08: 55: 35.584 -> Basahin ang pagsubok / test_1k.bin 08: 55: 40.745 -> Basahin ang ginamit na file: 5183 ms, 809.242554 KB / s 08: 55: 40.745 -> Basahin ang pagsubok /test_2k.bin 08: 55: 45.916 -> Basahin ang file na ginamit: 5182 ms, 809.398682 KB / s 08: 55: 45.949 -> Basahin ang pagsubok / pagsubok_4k.bin 08: 55: 51.091 -> Basahin ang ginamit na file: 5162 ms, 812.534668 KB / s 08:55: 51.091 -> Basahin ang pagsubok / pagsubok_8k.bin 08: 55: 56.257 -> Basahin ginamit na file: 5177 ms, 810.180420 KB / s 08: 55: 56.293 -> Basahin ang pagsubok / test_16k.bin 08: 56: 01.244 -> Basahin ang ginamit na file: 4956 ms, 846.308289 KB / s 08: 56: 01.244 -> Basahin ang pagsubok /test_32k.bin 08: 56: 06.006 -> Basahin ang ginamit na file: 4764 ms, 880.416443 KB / s 08: 56: 06.006 -> Basahin ang pagsubok / test_64k.bin 08: 56: 10.716 -> Basahin ang ginamit na file: 4728 ms, 887.120117 KB / s
Lumang 128 MB MicroSD
08: 51: 01.939 -> Pagsusulat isulat /test_1k.bin
08: 51: 18.358 -> Sumulat ng ginamit na file: 16422 ms, 255.407623 KB / s 08: 51: 18.358 -> Pagsulat ng pagsusulat /test_2k.bin 08: 51: 34.529 -> Sumulat ng ginamit na file: 16173 ms, 259.339874 KB / s 08: 51: 34.529 -> Pagsulat ng pagsusulat / test_4k.bin 08: 51: 50.911 -> Sumulat ng ginamit na file: 16372 ms, 256.187653 KB / s 08: 51: 50.911 -> Pagsulat ng pagsusulat /test_8k.bin 08: 52: 07.056 -> Sumulat ng file na ginamit: 16137 ms, 259.918457 KB / s 08: 52: 07.056 -> Pagsulat ng pagsusulat / test_16k.bin 08: 52: 23.383 -> Sumulat ng ginamit na file: 16351 ms, 256.516663 KB / s 08: 52: 23.383 -> Pagsubok isulat /test_32k.bin 08: 52: 39.533 -> Sumulat ng ginamit na file: 16128 ms, 260.063507 KB / s 08: 52: 39.533 -> Pagsubok isulat /test_64k.bin 08: 52: 55.764 -> Sumulat ng ginamit na file: 16250 ms, 258.111023 KB / s 08: 52: 55.764 -> Basahin ang pagsubok / test_1k.bin 08: 53: 00.645 -> Basahin ang ginamit na file: 4855 ms, 863.914307 KB / s 08: 53: 00.645 -> Basahin ang pagsubok / test_2k.bin 08: 53: 05.459 -> Basahin ang ginamit na file: 4839 ms, 866.770813 KB / s 08: 53: 05.459 -> Basahin ang pagsubok / pagsubok_4k.bin 08: 53: 10.306 -> Basahin ang ginamit na file: 4833 ms, 867.846863 KB / s 08:53: 10.306 -> Basahin ang pagsubok / pagsubok_8k.bin 08: 53: 15.127 -> R ginamit ang file ng ead: 4827 ms, 868.925598 KB / s 08: 53: 15.127 -> Basahin ang pagsubok / test_16k.bin 08: 53: 19.963 -> Basahin ang ginamit na file: 4826 ms, 869.105652 KB / s 08: 53: 19.963 -> Pagsubok basahin /test_32k.bin 08: 53: 24.758 -> Basahin ang ginamit na file: 4824 ms, 869.466003 KB / s 08: 53: 24.792 -> Basahin ang pagsubok / test_64k.bin 08: 53: 29.592 -> Basahin ang ginamit na file: 4824 ms, 869.466003 KB / s
Hakbang 12: Pag-ikot
Ang 4-bit SD bus mode ay may pinakamahusay na pagganap, ang 1-bit SD bus mode ay nasa 20% mas mabagal at ang SPI mode ay halos 50% mas mabagal. Ang isa sa pangunahing dahilan ay ang layer ng protokol ng SD_MMC ay hindi nagpapatupad ng anumang uri ng pagla-lock ngunit ginagawa ng SPI. At ang mode na 4-bit SD bus ay mayroong dobleng mga linya ng data kaya't theoretically doble ang bilis. Ngunit ang aking matandang MicroSD ay hindi maaaring suportahan ang 4-bit SD bus mode.
Inirerekumenda ko ang 1-bit SD bus mode sa karamihan ng kaso, dahil:
- magandang pagganap
- mas mahusay na pagiging tugma ng SD card
- looser SD Mga kinakailangan sa paghugot
- 3 GPIO pins lang ang kinakailangan
- mas mababang pagsasaayos ng code
- maraming mga dev kit, dev board at breakout board ang maaaring gumamit ng mode na ito
Inirerekumendang:
Pagsisimula Sa I2C Sensor Interface ?? - I-interface ang Iyong MMA8451 Paggamit ng mga ESP32: 8 Mga Hakbang
Pagsisimula Sa I2C Sensor Interface ?? - I-interface ang Iyong MMA8451 Paggamit ng ESP32s: Sa tutorial na ito, malalaman mo ang lahat tungkol sa Paano magsimula, kumonekta at makakuha ng I2C device (Accelerometer) na gumagana sa controller (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Ang 'Sup - isang Mouse para sa Mga Taong May Quadriplegia - Mababang Gastos at Buksan ang Pinagmulan: 12 Hakbang (na may Mga Larawan)
Ang 'Sup - isang Mouse para sa Mga Taong May Quadriplegia - Mababang Gastos at Bukas na Pinagmulan: Noong tagsibol ng 2017, tinanong ako ng pamilya ng aking matalik na kaibigan kung nais kong lumipad sa Denver at tulungan sila sa isang proyekto. Mayroon silang kaibigan, si Allen, na nagkaroon ng quadriplegia bilang resulta ng isang aksidente sa pagbibisikleta. Si Felix (aking kaibigan) at gumawa ako ng mabilis na muling paglagay
UCL - Naka-embed - Piliin at Lugar: 4 na Hakbang
UCL - Naka-embed - Pumili at Lugar: Ang magtuturo na ito ay pupunta kahit na kung paano ginawa ang isang 2D pick at lugar na yunit at kung paano ito i-code
NFC Lock - Kapag ang isang PCB Ay Gayundin ang Mga Pindutan, ang Antenna at Higit Pa : 7 Hakbang (na may Mga Larawan)
NFC Lock - Kapag ang isang PCB Ay Gayundin ang Mga Pindutan, ang Antenna at Higit Pa …: Maaari kang kumuha ng isa sa dalawang mga bagay mula sa Instructable na ito. Maaari mong sundin kasama at lumikha ng iyong sariling kumbinasyon ng isang numerong keypad at isang NFC reader. Ang eskematiko ay narito. Narito ang layout ng PCB. Makakakita ka ng isang bayarin ng mga materyales para sa iyo upang mag-order ng p
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Mga Kapansanan sa Locomotor: 9 Mga Hakbang (na may Mga Larawan)
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Kapansanan sa Locomotor: Ang mga taong may malubhang mga kapansanan sa lokomotor tulad ng mga sanhi ng cerebral palsy ay madalas na may mga kumplikadong pangangailangan sa komunikasyon. Maaaring kailanganin silang gumamit ng mga board na may alpabeto o karaniwang ginagamit na mga salitang nakalimbag sa kanila upang makatulong sa komunikasyon. Gayunpaman, marami