This example demonstrates the reading of the SD card in the Nucleo.
Dependencies: SDFileSystem mbed
Intro
This example demonstrates the reading of the SD card in the Nucleo.
Parts
STM32 Nucleo F446RE |
QVGA 2.2 TFT SPI (with the SD card slot) |
Breadboard |
Wires |
Wiring diagram
This circuit diagram was created by fritzing.
TFT J4 | Nucleo |
---|---|
SD_CS | PA_9 |
SD_MOSI | PB_15 |
SD_MISO | PB_14 |
SD_SCK | PB_13 |
Used Library
Import librarySDFileSystem
A re-written SDFileSystem library with improved compatibility, CRC support, and card removal/replacement support.
main.cpp
- Committer:
- beaglescout007
- Date:
- 2016-03-21
- Revision:
- 0:b0a3ecd53c7d
File content as of revision 0:b0a3ecd53c7d:
#include "mbed.h" #include "SDFileSystem.h" DigitalIn btn(USER_BUTTON); // trim '\n' void ntrim(char *str) { int i; for (i = 0; str[i] != 0; ++i); if (i > 0 && str[i - 1] == '\n') str[i - 1] = 0; } int main() { // SD filesystem SDFileSystem *sd = new SDFileSystem(PB_15, PB_14, PB_13, PA_9, "sd", NC, SDFileSystem::SWITCH_NONE, 20000000); // mosi, miso, sclk, name, card detect, sw type, freq while (1) { if (btn) continue; // file open FILE *fp = fopen("/sd/test.txt", "r"); if (fp == NULL) { printf("open error!!\r\n"); while(1); } // read text file char buf[1024]; while (fgets(buf, sizeof(buf), fp) != NULL) { ntrim(buf); printf("%s\r\n", buf); } // file close fclose(fp); wait(1); } }