96SEO 2026-02-23 13:40 22
cubemx-CSDN博客参考2【STM32CubeMX】USART1

F4系列不用修改配置默认即可。
F103系列需把时钟分频系数修改为
USE_LFN长文件名称缓存放在STACK因此STACK得设置大一些如0x1000)参数
(挂载、格式化时会自动选择合适的FAT16、FAT32、exFAT)
SD卡座的第9脚用于检测是否已插入SD卡如果已插入SD卡CD脚会输出低电平。
不建议使用这个功能因为SD卡与U盘不同没有完善的保护电路不应该进行热插拔而且做SD卡项目调试时默认状态应该是一直插着SD卡的。
如果项目有需要也可以自己写几行引脚电平检测当引脚电平为低时再对SD卡进行操作这样更灵活。
如果你的SD卡已连接检测引脚想使用CubeMX生成管理可以在这里指定引脚。
如果不需要这个检测功能就让它默认空着即可。
不管是否已连接此引脚都可空着。
当不指定检测引脚在最后生成工程时会有弹窗警告不用管它到时点击Yes即可将会正常生成工程代码上不会有任何影响。
如果不想有弹窗可以随便指定一个空闲的引脚这样在生成时就不会弹警告了但是需要在生成的工程代码里注释掉引脚检测功能这里不详述可自行搜索方法。
操作有点烦人不建议此方法。
如果之前没配置过SDIO、USB这时就会弹窗是否自动配置所需时钟
Yes因为它将针对已使能的SDIO、USB进行必须值的配置而已设置好的系统时钟将会被修改成其它值。
F4系列如果板子用25M晶振使用下图配置即可如果是8M晶振修改晶振、分频两处为8即可。
重新生成工程这时会有弹窗提示因为我们没有指定SD卡的检测引脚。
CubeMX生成的SDIO初始化代码有一个bug需要手动修改操作如下
因为初始化时需要低速率1线通信即可。
如果不修改初始化过程会导致程序卡死。
这6个函数在本工程中还是可用的。
但本篇暂时用不上这里就进行不示范了。
SD卡的句柄、数据、块地址、块数量、超时ms4、读数据_DMA
参数SD句柄、数据地址、块起始地址、需要读取的块数量;5、写数据_DMA
参数SD句柄、数据地址、块起始地址、需要写入的块数量;6、擦除数据
SD卡的句柄、块起始地址、块结束地址而FatFS常用的几个操作函数如下表
参数文件系统对象、驱动器路径、读写模式(0只读、1读写)2、格式化
当需要在函数内定义这种大缓存时要用static修饰令缓存存放在全局数据区内不然可能会导致stack溢出。
参数驱动器路径、文件系统(0自动\1FAT12\2FAT16\)、簇大小(0为自动选择)、格式化临时缓冲区、缓冲区大小3、打开文件
参数文件对象、数据缓存、申请写入的字节数、实际写入的字节数6、文件读取数据
参数文件对象、数据缓冲区、请求读取的最大字节数、实际读取的字节数
这个函数的作用是判断是否需要格式化、挂载文件系统、创建文件、写入数据、读出数据。
这个结构体占用598字节有点大需用static修饰(存放在全局数据区),
这个结构体占用570字节有点大需用static修饰(存放在全局数据区),
这个数组占用1024字节需用static修饰(存放在全局数据区),
重要的延时避免烧录期间的复位导致文件读写、格式化等错误HAL_Delay(1000);
避免有些仿真器烧录期间的多次复位短暂运行了程序导致下列读写数据不完整。
//
1、挂载测试在SD卡挂载文件系统printf(\r\n\r\n);printf(1、挂载
检查是否已有文件系统如果没有就格式化创建创建文件系统{printf(SD卡没有文件系统开始格式化…...\r\n);static
当需要在函数内定义这种大缓存时要用static修饰令缓存存放在全局数据区内不然可能会导致stack溢出。
f_res
参数驱动器、文件系统(0-自动\1-FAT12\2-FAT16\3-FAT32\4-exFat)、簇大小(0为自动选择)、格式化临时缓冲区、缓冲区大小;
格式化前必须先f_mount(x,x,1)挂载即必须用读写方式挂载;
如果SD卡已格式化f_mkfs()的第2个参数不能用0自动必须指定某个文件系统。
if
1-FAT12、2-FAT16、3-FAT32、4-exFatprintf(SD卡已有文件系统FAT32\n);if
1-FAT12、2-FAT16、3-FAT32、4-exFatprintf(SD卡已有文件系统exFAT\n);
2、写入测试打开或创建文件并写入数据printf(\r\n);printf(2、写入测试打开或创建文件并写入数据
参数文件对象、数据缓存、申请写入的字节数、实际写入的字节数if
注意这里以字符串方式显示如果数据是非ASCII可显示范围则无法显示}else{printf(写入失败
3、读取测试打开已有文件读取其数据printf(3、读取测试打开刚才的文件读取其数据
参数文件对象、数据缓冲区、请求读取的最大字节数、实际读取的字节数if
注意这里以字符串方式显示如果数据是非ASCII可显示范围则无法显示}else{printf(读取
本函数需要在f_mount()执行后再调用因为CubeMX生成的FatFs代码,
HAL_SD_CARD_TRANSFER){HAL_SD_GetCardInfo(hsd,
类型返回0-SDSC、1-SDHC/SDXC、3-SECUREDprintf(卡版本%d
版本返回0-CARD_V1、1-CARD_V2printf(块数量%d
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback