sd reader testing
Dependencies: BD_SD_DISCO_F746NG
main.cpp@4:73e7dc25c9be, 2020-01-31 (annotated)
- Committer:
- long0020
- Date:
- Fri Jan 31 07:46:43 2020 +0000
- Revision:
- 4:73e7dc25c9be
- Parent:
- 3:7f991a3d4e71
Working Copy
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
roykrikke | 1:ffacc9d0b308 | 1 | /* Example file of using SD/MMC Block device Library for MBED-OS |
roykrikke | 1:ffacc9d0b308 | 2 | * Copyright 2017 Roy Krikke |
roykrikke | 3:7f991a3d4e71 | 3 | * |
roykrikke | 1:ffacc9d0b308 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
roykrikke | 1:ffacc9d0b308 | 5 | * you may not use this file except in compliance with the License. |
roykrikke | 1:ffacc9d0b308 | 6 | * You may obtain a copy of the License at |
roykrikke | 3:7f991a3d4e71 | 7 | * |
roykrikke | 1:ffacc9d0b308 | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
roykrikke | 3:7f991a3d4e71 | 9 | * |
roykrikke | 1:ffacc9d0b308 | 10 | * Unless required by applicable law or agreed to in writing, software |
roykrikke | 1:ffacc9d0b308 | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
roykrikke | 1:ffacc9d0b308 | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
roykrikke | 1:ffacc9d0b308 | 13 | * See the License for the specific language governing permissions and |
roykrikke | 1:ffacc9d0b308 | 14 | * limitations under the License. |
roykrikke | 1:ffacc9d0b308 | 15 | * |
roykrikke | 1:ffacc9d0b308 | 16 | */ |
roykrikke | 1:ffacc9d0b308 | 17 | |
roykrikke | 0:4cdf28a602a8 | 18 | #include "mbed.h" |
roykrikke | 2:993735af824b | 19 | #include "FATFileSystem.h" |
roykrikke | 3:7f991a3d4e71 | 20 | #include "SDBlockDeviceDISCOF746NG.h" |
roykrikke | 2:993735af824b | 21 | #include <stdio.h> |
roykrikke | 2:993735af824b | 22 | #include <errno.h> |
roykrikke | 0:4cdf28a602a8 | 23 | |
roykrikke | 0:4cdf28a602a8 | 24 | // Instantiate the Block Device for sd card on DISCO-F746NG |
roykrikke | 3:7f991a3d4e71 | 25 | SDBlockDeviceDISCOF746NG bd; |
roykrikke | 2:993735af824b | 26 | FATFileSystem fs ("fs"); |
roykrikke | 2:993735af824b | 27 | |
roykrikke | 0:4cdf28a602a8 | 28 | |
roykrikke | 0:4cdf28a602a8 | 29 | int |
roykrikke | 3:7f991a3d4e71 | 30 | main () |
roykrikke | 3:7f991a3d4e71 | 31 | { |
long0020 | 4:73e7dc25c9be | 32 | |
roykrikke | 3:7f991a3d4e71 | 33 | printf("Start\n"); |
roykrikke | 0:4cdf28a602a8 | 34 | |
roykrikke | 3:7f991a3d4e71 | 35 | int error = 0; |
roykrikke | 3:7f991a3d4e71 | 36 | printf("Welcome to the filesystem example.\r\n" |
roykrikke | 3:7f991a3d4e71 | 37 | "Formatting a FAT, RAM-backed filesystem. "); |
roykrikke | 3:7f991a3d4e71 | 38 | error = FATFileSystem::format(&bd); |
long0020 | 4:73e7dc25c9be | 39 | |
roykrikke | 3:7f991a3d4e71 | 40 | printf("Mounting the filesystem on \"/fs\". "); |
roykrikke | 3:7f991a3d4e71 | 41 | error = fs.mount(&bd); |
long0020 | 4:73e7dc25c9be | 42 | //Write to file and create if not exist |
roykrikke | 3:7f991a3d4e71 | 43 | printf("Opening a new file, numbers.txt."); |
roykrikke | 3:7f991a3d4e71 | 44 | FILE* fd = fopen("/fs/numbers.txt", "w"); |
long0020 | 4:73e7dc25c9be | 45 | |
long0020 | 4:73e7dc25c9be | 46 | //Printing to file |
roykrikke | 3:7f991a3d4e71 | 47 | for (int i = 0; i < 20; i++) { |
roykrikke | 3:7f991a3d4e71 | 48 | printf("Writing decimal numbers to a file (%d/20)\r", i); |
roykrikke | 3:7f991a3d4e71 | 49 | fprintf(fd, "%d\r\n", i); |
roykrikke | 3:7f991a3d4e71 | 50 | } |
roykrikke | 3:7f991a3d4e71 | 51 | printf("Writing decimal numbers to a file (20/20) done.\r\n"); |
roykrikke | 2:993735af824b | 52 | |
roykrikke | 3:7f991a3d4e71 | 53 | printf("Closing file."); |
roykrikke | 3:7f991a3d4e71 | 54 | fclose(fd); |
roykrikke | 3:7f991a3d4e71 | 55 | printf(" done.\r\n"); |
roykrikke | 0:4cdf28a602a8 | 56 | |
long0020 | 4:73e7dc25c9be | 57 | //Read file |
roykrikke | 3:7f991a3d4e71 | 58 | printf("Re-opening file read-only."); |
roykrikke | 3:7f991a3d4e71 | 59 | fd = fopen("/fs/numbers.txt", "r"); |
roykrikke | 2:993735af824b | 60 | |
long0020 | 4:73e7dc25c9be | 61 | //close stream |
roykrikke | 3:7f991a3d4e71 | 62 | fclose(fd); |
long0020 | 4:73e7dc25c9be | 63 | printf("Closing file."); |
roykrikke | 0:4cdf28a602a8 | 64 | } |