The example can be downloaded from the repository
Check the tutorial page for an explanation about a micro SD card.


MicroSD READ AND WRITE

#include <string.h>
#include <stdlib.h>
#include "LPC17xx.h"
#include "lpc_types.h"
#include "SD/ff.h"
#include "sd/init.h"
#include "sd/monitor.h"
#include "GPIO.h"
#include "float.h"
#include "colors.h"
#include "drawing.h"
#include "veramonobold11.h"
#include "bmp.h"
#include "init.h"

 

int main(void)
{
    DSTATUS errd;
    FRESULT errf;
    UINT s2 = 8*512;
    char Buff[8*512];
    char String1[23];
    char String2[23];
    char String3[23];
    char String4[23];
    char *pch;
    FATFS Fatfs[1];
    FIL file1;
    int strlenght;
    uint32_t cntr1 = 15;

 

    init_in_main();
    lcdInit();

 

    drawFill(COLOR_BLACK);
    errd = disk_initialize(0);
    errf = f_mount(0, &Fatfs[0]);

 

    errf = f_open(&file1, "readthis.txt", FA_READ );    //read string
    errf = f_read(&file1, Buff, 1023, &s2)

    pch = strtok(Buff, "\r\n");                //split for new lines


    while (pch != NULL)                      //as long as we have more info
    {
        memset(String1, 0, 23);            //clear buffer
        memset(String2, 0, 23);            //clear buffer
        memset(String3, 0, 23);            //clear buffer
        memset(String4, 0, 23);            //clear buffer
        strlenght = strlen(pch);              //check length

        if (strlenght >= 23)
        {
            strncpy(String1, pch, 23);
            drawString(0, cntr1, COLOR_WHITE, &bitstreamVeraSansMonoBold11ptFontInfo, String1);           //print variable on LCD
            cntr1 += 18;                         //make sure the next line is actually below the first one

            strncpy(String2, pch + 23, 23);
            drawString(0, cntr1, COLOR_WHITE, &bitstreamVeraSansMonoBold11ptFontInfo, String2);           //print variable on LCD
            cntr1 += 18;                         //make sure the next line is actually below the first one

            if(strlenght >= 46)
            {
                strncpy(String3, pch + 46, 23);
                drawString(0, cntr1, COLOR_WHITE, &bitstreamVeraSansMonoBold11ptFontInfo, String3);       //print variable on LCD
                cntr1 += 18;                     //make sure the next line is actually below the first one

                if(strlenght >= 69)
                {
                    strncpy(String4, pch + 69, 23);
                    drawString(0, cntr1, COLOR_WHITE, &bitstreamVeraSansMonoBold11ptFontInfo, String4);   //print variable on LCD
                    cntr1 += 18;                 //make sure the next line is actually below the first one
                }
            }
        }

        else
        {
            strncpy(String1, pch, strlenght);  //copy splitted string in new variable
            drawString(0, cntr1, COLOR_WHITE, &bitstreamVeraSansMonoBold11ptFontInfo, String1);               //print variable on LCD
            cntr1 += 18;                            //make sure the next line is actually below the first one
        }
        pch = strtok(NULL, "\r\n");          // do it again
    }

    while(1)
    {
        f_close(&file1);
    }

}




Copyright 2011. Joomla 1.7 templates - Joomla template maker. The Simplecortex is developed by BRC-Electronics