stm32f103c8t6的内部Flash读取

本文详细介绍了如何在STM32F103C8T6单片机上进行SD卡读写和内部Flash的读写操作。通过实验步骤,包括配置定时器、GPIO、时钟,修改代码以实现数据读写,以及使用ST-Link进行编译烧录,验证了Flash内存的正确写入和读取。此外,还讨论了如何分批写入数据到SD卡并验证写入结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.SD卡读写

1.要求

2.实验过程截图

3.查看hello.txt

4.从SD卡读出 

4.1 修改代码

4.2 输出结果 

二.写入flash 

1.实验源码

1.1 配置定时器

1.2 使PC13GPIO模式,判断程序是否运行成功 

1.3 使GPIO引脚使能 

1.4 时钟配置 

1.5 设置堆栈大小  

2.修改代码 

2.1 修改数组大小

 2.2 修改数据内容

2.3 将i变量改成uint16_t位 

2.4 修改flash.h中的flash结束地址为 0X0801BA00  

 3.st-link设置

 4.编译烧录

5.运行结果 

6.修改起始地址重新烧录 

7.验证flash内存 


一.SD卡读写

1.要求

将64K数据分250次,每次256字节,写入SD卡,测试速度

2.实验过程截图

 总共用了14分钟,写了64K字节 

3.查看hello.txt

写入了250行数据,总计64K字节

4.从SD卡读出 

用FATS从SD卡读出数据,并且串口输出。

4.1 修改代码

将写入函数修改为读出函数名

 定义读出函数,指针标志s,且定义字节类型格式br和一个存储读取的数组READBUFF。 

① 修改f_open函数的第三个打开状态为FA_READ模式。

②文件指针移至相应位置,否则无输出。

③指针加地址

④使用FATS的read函数,第一个参数是指针,第二个是存储数组,第三个是数组大小,第四个是强制转换br为UINT格式。

⑤输出 

4.2 输出结果 

可以看到依次输出,我用了a,b,c,d,e来区分不同。

二.写入flash 

1.实验源码

链接:https://pan.baidu.com/s/1jJ6_YlAI9W81w7h6c7FVBw 
提取码:qwer

cubeMX设置

1.1 配置定时器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值