查看: 4008|回复: 3

[分享] 【LPC54114学习笔记(结帖后继续探索)】SPI总线SD卡文件系...

[复制链接]
  • TA的每日心情
    开心
    2018-4-20 15:04
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    49

    主题

    188

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    3240
    最后登录
    2023-7-24
    发表于 2017-5-15 21:51:42 | 显示全部楼层 |阅读模式
    【LPC54114学习笔记(结帖后继续探索)】SPI总线SD卡文件系统&文件读写


    LPC54114板子自带了SPI总线的SD卡接口,因此可以进行FATFS文件系统的学习。
        在官方例程中对于文件系统初始化部分是注释掉的,不知道官方把文件读写操作注释掉用意为何?
    1.PNG
    把官方例程的注释去掉之后我们便可以对文件系统有初步的认识:
        1.启动文件系统采用f_mount(&fatfs,driverNumberBuffer,1)函数,其中fatfs为文件系统指针,driverNumberBuffer为初始化路径,按照FATFS文件系统官方规定,0:/为RAM DISK即内存区,1:/为USB DISK即U盘或USB-OTG,2:/为SD DISK即SDIO接口的SD卡,3:/为MMC DISK即SDMMC接口的SD卡,4:/为SDSPI DISK即SDSPI接口的SD卡,这里我们可以看到光是挂载SD卡的文件系统就有三种方式,这是因为业界对SD卡接口的标准没有统一,而这三种SD卡接口规范又不尽相同,因此FATFS文件系统就为这三种接口都单独做了三个路径。
    2.PNG
        2.创建文件、打开文件均采用f_open(&fd,"4:/LPC54114.txt",FA_CREATE_ALWAYS|FA_WRITE)函数,其中第一个参数fd为FIL文件指针,第二个参数为文件名,第三个参数为打开文件的行为方式,方式有FA_CREATE_NEW,仅仅创建新文件,若存在同名文件,则f_open()函数返回1,报错;FA_CREATE_ALWAYS 创建新文件并覆盖同名文件;FA_WRITE,允许修改文件;FA_READ,只允许读文件。
    4.PNG
        3.修改文件采用f_write(&fd,write_buff,strlen(write_buff),&ret)函数,write_buff为要写入的文件的内容,strlen(write_buff)为要写入的文件的内容的长度,ret无意义。注意,若f_open()函数的最后一个参数为FA_CREATE_NEW或FA_CREATE_ALWAYS,则后面必须紧跟f_write()函数,否则文件系统会出错。
        4.文件读取采用f_read(&fd,read_buff,100,&ret)函数,read_buff为当前文件的内容。
        5.注意,f_open()函数到最后必须额外紧跟f_close()函数,否则对文件的修改无法保存,一个f_open()函数要有一个f_close()跟上,多个f_open()函数也必须带有数量相同的f_close()。
        6.f_write()和f_read()都只支持文件的ASCII码形式读写,即记事本方式读写,即如果文件是可以用记事本打开那一类的,如.c .h .html .txt .cpp这种就可以用这个方式。
        文件系统代码写好之后可以从LED指示灯中看到结果:若文件系统初始化成功,LD7亮;若文件创建打开成功,LD6亮;若文件写入成功,LD5亮;若文件读取成功,LD4亮。 3.PNG 1.gif
        上传工程文件。 工程文件.zip (9.36 MB, 下载次数: 44)
    今天心情不错
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    新手上路

    Rank: 1

    积分
    10
    最后登录
    2017-7-4
    发表于 2017-6-29 06:36:30 | 显示全部楼层
    您试过这个Project吗,怎么不能build,并且看起来像是直接从别的MCU上拿过来的,并不是针对LPC54114的?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2018-7-3 23:04
  • 签到天数: 50 天

    连续签到: 1 天

    [LV.5]常住居民I

    0

    主题

    87

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    284
    最后登录
    2018-7-3
    发表于 2017-6-29 09:31:15 | 显示全部楼层
    没做过文件系统,理下思路
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16

    主题

    705

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1745
    最后登录
    1970-1-1
    发表于 2018-6-11 17:19:51 | 显示全部楼层
    楼主你好!
    你附件添加的代码连编译都有问题呢。
    你确定是把官方屏蔽的代码放开就能工作吗?为啥我放开了,跑起来还是有问题呢?会提示SPI驱动有问题。
    楼主是否能够上传个能工作没问题的工程?谢谢了。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-18 05:11 , Processed in 0.090575 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表