文章目录
一、SD卡是什么?
1.SD卡模块的概念
SD卡读写是指单片机读写SD卡/TF卡。SD卡是一种低电压的flash闪存产品,有标准的MMC/SPI两种操作模块。对于MMC操作模式,读写速度快,控制信号线多,操作复杂,对于SPI操作模块,速度慢,线少,操作相对简单。
SD卡是一种低电压的flash闪存产品,有标准的MMC/SPI两种操作模块。对于MMC操作模式,读写速度快,控制信号线多,操作复杂,对于SPI操作模块,速度慢,线少,操作相对简单。
SD卡读写模块内置文件系统、可直接进行文件读写的SD卡模块,适用于单片机系统实现大容量存储方案。单片机使用模块,可直接进行目录遍历、目录创建、目录删除、文件创建、文件删除、文件修改、卡格式化等标准文件系统操作,无需了解SD卡内部存储结构及文件系统实现细节。
特别是随着SD卡在生活中的普及,嵌入式系统把读写SD卡功能集成到系统,成为一种趋势。
2.SD卡管脚的定义
3.SD卡相关操作命令
二、实验代码
1.main函数代码
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_SPI1_Init();
MX_FATFS_Init();
MX_USART1_UART_Init();
/* USER CODE BEGIN 2 */
HAL_UART_Receive_IT(&huart1,&aRxBuffer1,1); //enable uart
printf(" mian \r\n");
Get_SDCard_Capacity(); //得到使用内存并选择格式化
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
WritetoSD(WriteBuffer,sizeof