【小陈睡不醒SD卡数据读取以及Altium Designer绘制stm32最小系统原理图及stm32+SD卡绘制】

本文详细介绍了如何使用STM32单片机进行SD卡数据读取,涉及SPI模式、FATFS文件系统,并提供了代码分析和烧录步骤。同时,阐述了在Altium Designer中绘制STM32最小系统和SD卡模块的原理图过程,包括元器件绘制、连线及注意事项。
摘要由CSDN通过智能技术生成

一SD卡介绍

1、SD卡
SD存储卡(Secure Digital Memory Card)是一种基于半导体快闪存储器的新一代高速存储设备。SD存储卡的技术是从MMC卡(MultiMedia Card格式上发展而来,在兼容SD存储卡基础上发展了SDIO(SD Input/ Output)卡,此兼容性包括机械,电子,电力,信号和软件,通常将SD、SDIO卡俗称SD存储卡

一张SD卡包括有存储单元、存储单元接口、电源检测、卡及接口控制器和接口驱动器5 个部分。
存储单元是存储数据部件,存储单元通过存储单元接口与卡控制单元进行数据传输;
电源检测单元保证SD卡工作在合适的电压下,如出现掉电或上状态时,它会使控制单元和存储单元接口复位;
卡及接口控制单元控制SD卡的运行状态,它包括有8个寄存器;
接口驱动器控制 SD 卡引脚的输入输出。

驱动模式
SD卡有两种驱动模式:SPI模式与SDIO模式。它们所使用的接口信号是不同的。在SPI模式下,只会用到SD卡的4根信号线,即CS、DI、SCLK与DO(分别是SD卡的片选、数据输入、时钟与数据输出)。

传输模式
SD卡共支持三种传输模式:SPI模式(独立序列输入和序列输出),1位SD模式(独立指令和数据通道,独有的传输格式),4位SD模式(使用额外的针脚以及某些重新设置的针脚。支持四位宽的并行传输)。

本篇文章主要使用SPI方式进行验证,关于SPI介绍可以参考我之前的博客
、FATFS
FATFS 是一个通用的文件系统(FAT/exFAT)模块,用于在小型嵌入式系统中实现FAT文件系统。 FatFs 组件的编写遵循ANSI C(C89),完全分离于磁盘 I/O 层,因此不依赖于硬件平台。它可以嵌入到资源有限的微控制器中,如 8051, PIC, AVR, ARM, Z80, RX等等,不需要做任何修改。

FATFS提供了以下文件访问函数:
f_open - 打开/创建文件 f_close - 关闭打开的文件f_read - 从文件中读取数据f_write - 将数据写入文件
f_lseek - 移动读/写指针,扩展大小 f_truncate - 截断文件大小
f_sync - 刷新缓存的数据f_forward - 将数据转发到流
f_expand - 为文件分配连续块 f_gets - 读取字符串
f_putc - 写一个字符 f_puts - 编写字符串 f_printf - 编写格式化字符串
f_tell - 获取当前读/写指针 f_eof - 测试文件结尾
f_size - 获取尺寸f_error - 测试错误
二.分析
1代码分析
1.1.SD卡写入文件名及写入内容

char SD_FileName[] = "hello.txt";
uint8_t WriteBuffer[] = "小小星亮晶晶 631907030123\n";

1.2.main函数

int main(void)
{
   
  HAL_Init();

  SystemClock_Config();

  MX_GPIO_Init();
  MX_SPI1_Init();
  MX_FATFS_Init();
  MX_USART1_UART_Init();
	
	HAL_UART_Receive_IT(&huart1,&aRxBuffer1,1); 	//enable uart	

	printf(" mian \r\n");

	Get_SDCard_Capacity();	//得到使用内存并选择格式化
  while (1)
  {
   
		WritetoSD(WriteBuffer,sizeof(WriteBuffer));	//写入SD卡	
		
		HAL_Delay(500);
		WriteBuffer[0] = WriteBuffer[0] +10;
		WriteBuffer[1] = WriteBuffer[1] +10; 
		write_cnt 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值