使用软件:stm32cubemx
开发板:野火指南者stm32f103vet6
HAL库;STM32Cube FW_F1 V1.8.0
实现功能:串行flash模拟u盘
先用STM32CubeMX生成代码
需要:
1.RCC
2.SYS
3.SDIO
4.USART1(调试用)
5.FATFS(SD Card)
需要配置中断:无
设置 SDIOCLK clock divide factor (一般设置4-8)
这是对应的标准库sd卡的配置
设置异步通信模式
生成代码
1…在usart.c重定向printf,方便给调试
需要加上stdio.h文件
#include "stdio.h"
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
return ch;
}
/**
* 函数功能: 重定向c库函数getchar,scanf到DEBUG_USARTx
* 输入参数: 无
* 返 回 值: 无
* 说 明:无
*/
int fgetc(FILE * f)
{
uint8_t ch = 0;
HAL_UART_Receive(&huart1,&ch