上面的3.1小节是采用SPI模拟时序驱动SD NAND,STM32本身集成有SPI硬件模块,可以直接利用STM32硬件SPI接口读写。 下面贴出底层的适配代码。 上面贴出的驱动代码里,已经将驱动接口部分和协议逻辑部分区分开了,替换底层的SIP读写代码非常方便。 (1)主要替换的代码 ...
5、SD卡下SPI操作模式 SD卡初始化 SPI操作模式下:在SD卡收到复位命令时,CS为有效电平(低电平),则SPI模式被启用,在发送CMD之前要先发送74个时钟,64个为内部供电上升时间,10个用于SD卡同步;之后才能开始CMD操作,在初始化时CLK时钟不能超过400KHz。 1、初始化与SD卡连接的硬件条件(MCU的SPI配置,IO口配置); 2...
硬件包含: 一块STM32F103ZET6系统板、一个2.8寸TFT电阻触摸显示屏、一个SD卡卡槽(SPI接口)、一张SD卡(存放字库和小说文件)上
MX_DMA_Init(); MX_SDIO_SD_Init(); MX_FATFS_Init(); MX_USB_DEVICE_Init(); // 挂载 retSD = f_mount(&SDFatFS, SDPath, 1); switch(retSD) { case FR_NO_FILESYSTEM: // FM_FAT32 { retSD = f_mkfs(SDPath,FM_FAT32,512,work, sizeof(work)); if(retSD!=FR_OK) { while(1...
1、FATFS文件系统 1.使用开源的FAT文件系统模块,其源代码的获取从官网: 目前最新版本是:ff13a 2.解压后得到两个文件: 其中,documents相当于STM32的固件库使用手册,介绍FATFS系统的函数使用方法,source中则是需要用到的源代码。 因为FATFS使用SD卡,所以FATFS的基础是SD卡的正常读写,这里采用SPI模式。 2、STM32之...
return SPI_ReadWriteOneByte(DataTx); } (2)运行效果 3.3 SDIO方式 如果想提高SD NAND的读写速度,可以采用SDIO协议,STM32本身有SDIO的硬件支持,配置好SDIO的寄存器即可完成SD NAND的操作。 SDIO的数据线都比SPI多,读写速度自然没法比的。 下面贴出STM32F103ZE上面编写的SDIO协议读写SD NAND的驱动代码。
STM32之FATFSC件系统SPI方式笔记BY:T7Date:20171202At:YSUB307开发环境: uVision : V5.12.0.0STM32F103V8T6库版本 :STM32F10xStdPeriphLibV3.5.0
问题:FATFS *fs_obj;这样定义出来的fs_obj是0,也就是说他没有分配内存,从而导致挂载失败。 FATFS *fs_obj这样定义是时,内存分配是动态的,需要自己手动malloc一块内存。 解决:把FATFS *fs_obj改成FATFS fs_obj就可以了,如图二。FATFS fs_obj这样是静态分配内存,内存自动管理,不需要手动申请释放。 图2 通过网...
SD卡的读写驱动程序是运用FATFS的基础,学了FATFS就可以在SD卡上创建文件夹及文件了。我们先从main文件...
函数功能:SD卡底层接口,通过SPI时序向SD卡读写一个字节 函数参数:data是要写入的数据 返回值:读到的数据 */ u8 SDCardReadWriteOneByte(u8 DataTx) { return SPI_ReadWriteOneByte(DataTx); } (2)运行效果 3.3 SDIO方式 如果想提高SD NAND的读写速度,可以采用SDIO协议,STM32本身有SDIO的硬件支持,配置好SD...