/// SPI硬件层初始化 void SD_SPI_Init(void) { HAL_GPIO_WritePin(SPI_CLK_GPIO_Port, SPI_CLK_Pin, GPIO_PIN_RESET); /* 时钟空闲为低电平 */ SD_SPI_ReadWriteByte(0xFF); SD_CS_H(); } SD SPI 驱动代码 / //取消选择,释放SPI总线 void SD_DisSelect(void) { SD_CS_H(); SD_SPI_Re...
单片机STM32驱动SD卡详解:SD卡内部结构、硬件接口协议、HAL库操作共计2条视频,包括:STM32驱动SD卡详解、物联网小学妹等,UP主更多精彩视频,请关注UP账号。
想做一个基于SPI的SD卡文件系统读写SD卡上的文件,再配合USB接口做一个模拟U盘。只能利用业余时间慢慢更新,也不知道能不能坚持下去。 我会把从零开始开发一个程序需要经历的过程一一的记录下来。做成一个奶妈级的单片机开发笔记。一、硬件简介 1.SD卡和MicroSD卡(TF卡)的区别 由下图可以很容易的看出TF卡只是比SD...
STM32 HAL库 基于SPI的SD卡文件系统+模拟U盘【3.重定向printf函数】 1764 2 7:44 App STM32 HAL库 基于SPI的SD卡文件系统+模拟U盘【1.创建工程】 3109 -- 11:40 App STM32 用户数据 flash读写 2469 4 14:07 App 单片机 --- SPI 总线篇 3259 -- 24:51 App 3按键多级菜单+读写flash代码讲解 ...
stm32 cubemx SPI SD卡模拟U盘 stm32外接sd卡 通过USB接口读写挂载的SD卡 HAL库 标准库 本文以STM32F407为例分别用HAL库(STM32CubeMX)和标准库实现SD卡对fatfs支持,以及通过USB接口读写SD卡。首先看电路连接: SD卡部分: USB接口: HAL库 这种方式相对较为简单,提供自动生成工具,几乎没有什么代码量,但其中...
void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi) { GPIO_InitTypeDef GPIO_InitStruct = {0}; ...
SPI初始化 上述程序实现了接收和发送一个字节。 那SPI初始化配置是如何的呢? 上图为SPI初始化函数。 1:1处我们看出,我们可以用此SPI与多种设备进行通信。如果我们想用一个SPI接口同时连接这三个设备,并分别与之通信,就如本文第一张图所画那样。就需要三个片选信号线,但从下图可看出SPI1接口规定的只有一个...
1.1 SPI和UART一样是一种串行数据收发硬件协议,不同点是SPI是在时钟线SCK的同步作用下对数据移进移除,UART是靠双方的波特率(1bit所占的时间)来确定。 1.2 HAL库对两者在收发总线的错误处理都一样,都提供了用于收发错误处理的回调函数 hspi->ErrorCallback(hspi);huart->ErrorCallback(huart);以UART为例,有...
// 通过SPI读取数据 HAL_SPI_TransmitReceive(&SPI_HANDLE, spiTxBuffer, spiRxBuffer, 2, HAL_MAX_DELAY); // 禁用SPI片选 HAL_GPIO_WritePin(GPIOE, GPIO_PIN_4, GPIO_PIN_SET); } int main(void) { // 初始化系统时钟 HAL_Init(); // 初始化SPI ...
功能:通过SPI读写SD卡/TF卡上的文件系统 支持FAT16, FAT32, exFAT, 即FatFs所支持的文件格式. 支持存储卡容量512MB至64GB, 更高容量未测试实现基于STM32CubeMX, STM32F4 v1.26.2 FatFs, R0.12C(STM32CubeMX内建版本)大部分参考自STM32Cube配置SPI读sd卡...