历史上的今天
今天是:2024年10月14日(星期一)
2020年10月14日 | 单片机软件SPI和硬件SPI读写SD卡,TF卡测试程序
2020-10-14 来源:51hei
软件SPI和硬件SPI读写SD卡,TF卡测试程序
SD卡模块和SD卡
软件SPI读写SD卡程序
测试平台:STC89C516和STC12C5A60S2
内存卡大小:128MB和2GB
晶振:均为12MHz
硬件SPI读写SD卡程序
测试平台:STC12C5A60S2
内存卡大小:128MB和2GB
晶振:12MHz
(89C52没有硬件SPI)
为了尽可能的不给后来者留坑,这些代码我在发出来之前反复测试过,确保无误,
还有就是关于SD卡程序的读写我在程序中写的很清楚,这里不再赘述
单片机源程序如下:
#include "public.h"
#include "SD.h"
//测试平台:STC89C516和STC12C5A60S2
//内存卡大小:128MB和2GB
//晶振:均为12MHz
void main()
{
unsigned int i;
SD_init();//SD卡初始化
for(i=0;i<512;++i) BUFFER_DATA[i]=0x7F;
MCU_write_SD_512Byte(960,512);//MCU向SD卡写入数据,一次最多512字节(扇区,数据长度(最大为512,建议填512))
MCU_read_SD_512Byte(960,512);//MCU向SD卡读取数据,一次最多512字节(扇区,数据长度(最大为512,建议填512))
P0=BUFFER_DATA[0];
while(1);
}
/*
unsigned int i;
SD_init();//SD卡初始化
{
在使用SD卡模块前,先初始化SD卡
}
for(i=0;i<512;++i) BUFFER_DATA[i]=0x7F;
MCU_write_SD_512Byte(960,512);//MCU向SD卡写入数据,一次最多512字节(扇区,数据长度(最大为512,建议填512))
{
将数据写入到SD卡:
先将数据写入到数据缓冲数组BUFFER_DATA中(这里的数据我全部都写0x7F),
然后运行MCU_write_SD_512Byte(960,512);
960为SD卡的扇区,表示将数据写入到SD卡的960扇区,512为一次性写入的数据大小,为512字节,建议填512字节,
因为1个扇区的大小为512字节
}
MCU_read_SD_512Byte(960,512);//MCU向SD卡读取数据,一次最多512字节(扇区,数据长度(最大为512,建议填512))
P0=BUFFER_DATA[0];
{
从SD卡读取数据:
先运行MCU_read_SD_512Byte(960,512);
这里的960为你要读的SD扇区,512位一次性读取的数据大小,为512字节,建议填512字节,因为1个扇区的大小为512字节
完成后数据存放在数据缓冲数组BUFFER_DATA中
因为没有现象的话不好判断SD卡读写是否成功,所以把P0BUFFER_DATA[0]赋给P0,P0接LED灯,就可以看见现象了
}
{
注意:将程序下载到开发板后可能会出现P0口显示的数据和SD卡写入数据不一致的情况
这时,
要将开发板和SD卡模块断电
要将开发板和SD卡模块断电
要将开发板和SD卡模块断电
不是复位
不是复位
不是复位
将开发板断电后再上电,就可以看见现象了
如果还不成功,
检查连线是否正确
检查连线是否正确
检查连线是否正确
或尝试插拔SD卡
SD卡读写成功后,可以修改扇区和SD的写入数据多实验几次,确保万无一失
}
*/
上一篇:51单片机通过串口控制LED
下一篇:PWM频率发生器
史海拾趣
|
请各位高手指教,下面的电路能不能成立,不能成立的原因是什么? [img] 电路是我自己画的,个人分析如下,有不对的地方希望大家指正:谢谢~ 1》通电,12V经R1到Q1的C极,经R2加至Q1的B极,Q1饱和导通,C极等于0 此时Q2,Q3,Q4的B极全部为0 Q2为PNP管,此时是导通状态,但对电路没影响 2》 ...… 查看全部问答> |
|
我在PC机下进行录音,然后通过TCP/IP传送到ARM9板子(WinCE6.0操作系统,UDA1380音频编解码芯片)上进行播放,但是播放不了。用的都是wave系列操作函数。 我录音和放音的设置都是: waveform.wFormatTag=W ...… 查看全部问答> |
|
我现在调试RIL驱动,ril proxy的调试信息可以通过修改注册表打印出来。 但CELLTSP不知怎样显示出来,因为CELLTSP没有源代码的,如果不用DEBUG模式,怎样才能显示CELLTSP的调试信息? … 查看全部问答> |
|
最近在学校的实验室弄的两个基于TI M3东西,一个是LC测量器,一个是数控恒流源,控制部分先用从eeworld 申请到得8962评估板来完成。完成进度:LC 测量器的硬件电路制作、调试都OK了,正在编写程序。 这个LC测量器 本应该把微控器 ...… 查看全部问答> |
|
考虑到FR5739的铁电存储功能和3 轴加速计模块,可以做一个可以断电保存的记步器,通过对加速度计的数据做一定的计算和处理可以做一款计步器,在现有模块的基础上需要增加一块LCD,做简单的显示,同时由于可以掉电保存,还可以 ...… 查看全部问答> |
|
本帖最后由 zhaironghui 于 2015-10-22 11:26 编辑 大家好,接触 Verilog 时间不长,遇到一个问题,真心求教。谢谢 背景:想把 AD 输出的 8 位并行数据在 CPLD 中进行并串转换,并在 DSP 提供的 串行时钟 CLKR1 和 帧同步(片选)信号 FSR1 的 ...… 查看全部问答> |
|
我国传感器产业亟待摆脱进口依赖,中小型国产企业又该如何崛起呢? 2015年全球市场约1770亿美元(不含系统,只是各类敏感元件与传感器),预计在未来5年内,全球所有的传感器领域的复合年增长率都将超过15%,仍然是高增长行业。2015年,我国传感器销售额突破1300亿元。然而,在国内市场 ...… 查看全部问答> |




