stm32nucleof401re_04_sdcard

Dependencies:   mbed-os

Committer:
perlatecnica
Date:
Fri Feb 07 07:25:23 2020 +0000
Revision:
0:ad67c66b2e84
v1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
perlatecnica 0:ad67c66b2e84 1 /* Copyright (c) 2019 Perlatecnica
perlatecnica 0:ad67c66b2e84 2 *
perlatecnica 0:ad67c66b2e84 3 * Licensed under the Apache License, Version 2.0 (the "License");
perlatecnica 0:ad67c66b2e84 4 * you may not use this file except in compliance with the License.
perlatecnica 0:ad67c66b2e84 5 * You may obtain a copy of the License at
perlatecnica 0:ad67c66b2e84 6 *
perlatecnica 0:ad67c66b2e84 7 * http://www.apache.org/licenses/LICENSE-2.0
perlatecnica 0:ad67c66b2e84 8 *
perlatecnica 0:ad67c66b2e84 9 * Unless required by applicable law or agreed to in writing, software
perlatecnica 0:ad67c66b2e84 10 * distributed under the License is distributed on an "AS IS" BASIS,
perlatecnica 0:ad67c66b2e84 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
perlatecnica 0:ad67c66b2e84 12 * See the License for the specific language governing permissions and
perlatecnica 0:ad67c66b2e84 13 * limitations under the License.
perlatecnica 0:ad67c66b2e84 14 */
perlatecnica 0:ad67c66b2e84 15
perlatecnica 0:ad67c66b2e84 16 /****************************************************
perlatecnica 0:ad67c66b2e84 17 * FAST PROTOTYPING WITH NUCLEO *
perlatecnica 0:ad67c66b2e84 18 * Example Code 04: SDcard *
perlatecnica 0:ad67c66b2e84 19 * Author: Mauro D'Angelo *
perlatecnica 0:ad67c66b2e84 20 * Organization: Perlatecnica no-profit organization *
perlatecnica 0:ad67c66b2e84 21 *****************************************************/
perlatecnica 0:ad67c66b2e84 22
perlatecnica 0:ad67c66b2e84 23 #include "mbed.h"
perlatecnica 0:ad67c66b2e84 24
perlatecnica 0:ad67c66b2e84 25 // It includes the library that manages the File System
perlatecnica 0:ad67c66b2e84 26 #include "FATFileSystem.h"
perlatecnica 0:ad67c66b2e84 27
perlatecnica 0:ad67c66b2e84 28 // It Includes the library that manage the SD at low level
perlatecnica 0:ad67c66b2e84 29 #include "SDBlockDevice.h"
perlatecnica 0:ad67c66b2e84 30
perlatecnica 0:ad67c66b2e84 31 // It creates the File System variable
perlatecnica 0:ad67c66b2e84 32 FATFileSystem fs("fs");
perlatecnica 0:ad67c66b2e84 33
perlatecnica 0:ad67c66b2e84 34 // it creates the reference to SD. The parameters are the pin for SPI bus
perlatecnica 0:ad67c66b2e84 35 SDBlockDevice sd(D11, D12, D13, D10); //MOSI MISO SCK CS
perlatecnica 0:ad67c66b2e84 36
perlatecnica 0:ad67c66b2e84 37 Serial pc(USBTX, USBRX);
perlatecnica 0:ad67c66b2e84 38
perlatecnica 0:ad67c66b2e84 39 int main() {
perlatecnica 0:ad67c66b2e84 40 // It mounts the SD.
perlatecnica 0:ad67c66b2e84 41 fs.mount(&sd);
perlatecnica 0:ad67c66b2e84 42
perlatecnica 0:ad67c66b2e84 43 // It opens the file mbed.txt. 'w' represents the access rights
perlatecnica 0:ad67c66b2e84 44 FILE *fd = fopen("/fs/mbed.txt", "w");
perlatecnica 0:ad67c66b2e84 45
perlatecnica 0:ad67c66b2e84 46 if(fd==NULL) {
perlatecnica 0:ad67c66b2e84 47 // Something was wrong
perlatecnica 0:ad67c66b2e84 48 pc.printf("Error occurs writing the SD!\r\n");
perlatecnica 0:ad67c66b2e84 49 }
perlatecnica 0:ad67c66b2e84 50 else {
perlatecnica 0:ad67c66b2e84 51 fprintf(fd, "Welcome SD!!\r\n");
perlatecnica 0:ad67c66b2e84 52 fclose(fd);
perlatecnica 0:ad67c66b2e84 53 pc.printf("It works!\r\n");
perlatecnica 0:ad67c66b2e84 54 }
perlatecnica 0:ad67c66b2e84 55 }