使用环境(蓝色粗体字为特别注意内容)
1、软件环境:Keil MDK 5.15
2、硬件环境:STM32F103C8T6最小系统,Micro TF卡

在一个项目中需要用到SD卡,于是在某宝买了一块Micro TF卡插槽,SPI驱动:

貌似不用那个小芯片好像可以用IO口直接驱动TF卡,不知道那个小芯片干嘛用的,也没工夫去追究了,废话少说,先来看接线:

TF卡模块   STM32单片机
GND     ->    GND
CS      ->    PB12/SPI2_NSS
SCK     ->    PB13/SPI2_SCK
MISO    ->    PB14/SPI2_MISO
MOSI    ->    PB15/SPI2_MOSI

关于CS/NSS管脚,即我们熟知的片选信号,作为主设备NSS管脚为高电平,从设备NSS管脚为低电平。

一开始为了性能考虑,打算使用硬件SPI2,后来发现速度太快了,SD/TF卡的速度跟不上,调了半天调不出来,必须降低APB总线速率:

//配置APB1(PCLK1)钟=AHB 1/2时钟

RCC_PCLK2Config(RCC_HCLK_Div4); //72/4=18MHz ,会降低总线频率,导致串口不正常!慎用!

但是总线速率一下降,延时函数,串口通信函数都会受影响,于是考虑使用两种方式实现即硬件SPI+软件模拟SPI。

最终使用软件模拟SPI并且移植SFATS,读取2G的SD卡成功,

main函数如下

/******************************************************************************** @file    SDFatFS/source/main.c* @author  Pang* @version V1.0.2* @date    1/1/2019* @brief******************************************************************************/#include "common.h"
#include "led.h"
#include "delay.h"
#include "usart_printf.h"char path[10] = "0:";// SD卡根目录
FATFS fs;char wbuff[] = "This is FATFS function test\r\n * f_open\r\n * f_write\r\n * f_close\r\n";
char wbuff2[512 * 26];// *******************************************************************************
// Function Name  : main
// Description    :
// Input          : None
// Output         : None
// Return         : None
// *******************************************************************************
int main(void)
{u16 i, j;LED_Init();Hardware_Configuration();ffext_mount(0, &fs);ffext_scanfiles (path);for(i = 0; i < 26; i++){for(j = 0; j < 512; j++){wbuff2[i * 512 + j] = 'A' + i;}}ffext_read("0:/test/test.ini", wbuff2, (512 * 26), FA_OPEN_ALWAYS | FA_READ);ffext_write("0:/test/out.ini", wbuff2, (512 * 26), FA_OPEN_ALWAYS | FA_WRITE);printu(">%s", wbuff2);// ffext_write("0:CardInfo.txt", wbuff, sizeof(wbuff)-1, FA_OPEN_ALWAYS | FA_WRITE);// ffext_write("0:ffext2.ini", wbuff2, (512*26), FA_OPEN_ALWAYS | FA_WRITE);for(i = 0; i < 26; i++){for(j = 0; j < 512; j++){wbuff2[i * 512 + j] = 0;}}ffext_read("0:ffext2.ini", wbuff2, (512 * 26), FA_OPEN_ALWAYS | FA_READ);ffext_write("0:ffext1.txt", wbuff2, (512 * 26), FA_OPEN_ALWAYS | FA_WRITE);while (1){}
}

STM32F103C8T6+SD/Micro TF卡+SFATS+软SPI+硬SPI相关推荐

  1. 零知开发板连接sd、tf卡模块,针脚定义 spi总线的连接方式

    零知开发板的例程也是有点坑,代码里面没有写明接线方式. 找到开发板的针脚定义,按如下方式接线: SCK 13 MISO 12 MOSI 11 CS 10 上传例程代码,成功.

  2. TF卡里删掉文件后内存没变大_TF卡,SD卡,读卡器,USB拓展坞如何选?看这篇就够了...

    大家好,我是黄昏百分百,今天为大家带来的是大家生活中常用的TF卡与SD卡的选购知识的介绍. 首先说一下,SD卡组织是一个命名规则比较混乱的卡组织,光是速度规则就有三套,更别提他们还根据储存容量对SD卡 ...

  3. Keil MDK STM32系列(九) 基于HAL和FatFs的FAT格式SD卡TF卡读写

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

  4. 把APK安装到SD卡和TF卡实现方案

    首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的.教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转 ...

  5. CS品牌SD NAND VS TF卡 SD NAND和TF卡的区别

    最近工程师群里都会出现一个CS品牌的SD NAND的存储芯片,那么很多人的疑问什么是SD NAND?今天就带大家详细的了解一下.SD NAND俗称贴片式T卡,贴片式TF卡,贴片式SD卡,贴片式内存卡, ...

  6. 优盘Flash, SD卡, TF 卡 ,CF卡一体黑胶存储颗粒数据恢复专用必备工具合

    优盘Flash, SD卡, TF 卡 ,CF卡一体黑胶存储颗粒数据恢复专用必备工具合集 对于数据的丢失是大家最不想看到的,毕竟 数据无价的道理都懂,但是意外总是没有预兆,目前市场上流通的便携式存储无外 ...

  7. 内存,RAM(DDR),ROM(EEPROM、flash),存储卡(emmc,sd,tf)以及Cache的区别与联系

    参考:内存,RAM,ROM,Cache的区别与联系 作者:一只青木呀 发布时间:2020-09-26 09:55:40 网址:https://blog.csdn.net/weixin_45309916 ...

  8. emmc,sd,tf,flash等各种存储卡的特点和区别

    文章目录 SD和TF卡 MMC卡 emmc和ufs flash 现在手机常用的,应该是emmc,即内部存储介质是nand flash. ufs比emmc,读写速度要快一倍:两者关系犹如固定硬盘相比机械 ...

  9. android tf卡及u盘_多种TF卡 SSD U盘评测 多图(含ASSSD ATTO测试截图)

    多种TF卡 SSD U盘评测 多图(含ASSSD ATTO测试截图) 匿名用户 2016-11-05 17:00:00 55点赞 289收藏 74评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼 ...

最新文章

  1. 在 CUDA C/C++ kernel中使用内存
  2. Java 技术之垃圾回收机制
  3. 基于redis的分布式锁
  4. 机器学习发展历史回顾
  5. 亿图脑图-MindMaster-思维导图及亿图图示会员-史上超值活动
  6. Python3.7安装教程
  7. 熊出没机器人光头强_《熊出没》五大兵器,天才威与光头强的战斗机器人谁更厉害?...
  8. android 5.1 壁纸路径,Android5.1 壁纸来源选项中有两个“壁纸”选项
  9. 中国虚拟邮箱软件行业市场供需与战略研究报告
  10. 吃货联盟订餐系统(对象+集合)
  11. 【操作系统】进程管理(五)—— 信号量机制
  12. 元宇宙炒房真热起来了?
  13. python Django Session,CSRF,Model操作,Form验证,中间件,缓存,信号
  14. 统计字母A的出现次数
  15. tp5导入excel表格
  16. [java篇]包和继承,组合
  17. 《驴得水》角色分析和感悟总结
  18. hexo中添加板娘help (hexo-helper-live2d)
  19. 学霸推荐的专注人工智能的原创公众号
  20. 2.5 万字详解:23 种设计模式,阿里京东面试必过

热门文章

  1. Linux Deepin 输入法缩放折腾问题-装个搜狗就完事了
  2. 唐僧西行并不是公派出国学习
  3. 瑞萨78K0/KB2系列单片机upd78F0503A学习心得1
  4. 网管工具——Untangle
  5. 汉字Unicode编码表(最小值0x4e00,最大值0x952f)
  6. layui登录页面写入数据_layuiAdmin单页版文档
  7. std::tr1::shared_ptr点滴记录
  8. 为什么mydock会经常崩溃_MyDock官方版-桌面dock栏工具下载 v4.8.8.9 官方版 - 安下载...
  9. Delphi之东进数字语音卡(SS1)可复用源码
  10. python 能源系统建模:message-ix Integrated assessment model的安装