X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
嵌入式系统
求助:初始化SD卡SPI模式的程序
shizhu72
2009-5-15 09:00
楼主
刚刚接触这方面~
要写一个SD卡在SPI模式下的简单的读写程序~~
这两天光看文档没什么思路,而且对语言运用也不熟~
想找个初始化的程序看看,但没有找到合适的~~请高人指点~~
对C语言嵌入式开发不是很了解,请问有什么比较好的书么?
点赞
回复评论 (2)
沙发
img2007
SPI模式的初始化函数
INT8U SD_Init(void)
{
INT8U retry, temp;
INT8U i = 0;
INT8U CMD[] = {CMD0, 0x00, 0x00, 0x00, 0x00, 0x95};
MSPI_Init(0);
SD_Enable();
for(i=0;i<250;i++)
__asm
{
NOP
}
for(i = 0; i < 0x0f; i++)
{
SPI_RW(0xff); //发送至少74个时钟
}
//Send Command CMD0 to SD/SD Card
retry = 0;
do
{ //retry 200 times to send CMD0 command
temp = Write_Command_SD(CMD);
retry++;
if(retry >= 200)
{ //time out
return(INIT_CMD0_ERROR); //CMD0 Error!
}
}
while(temp != 1);
//Send Command CMD1 to SD/SD-Card
CMD[0] = CMD1; //Command 1
CMD[5] = 0xFF;
retry = 0;
do
{ //retry 100 times to send CMD1 command
temp=Write_Command_SD(CMD);
retry++;
if(retry>=100)
{ //time out
return(INIT_CMD1_ERROR);//CMD1 Error!
}
}
while(temp != 0);
MSPI_Init(1);
SD_Disable();
return(0);
}
点赞
2009-5-15 09:58
板凳
lnasliu
谢谢~还有个问题就是SD卡在接SPI总线的时候那根时钟线应该如何接?
点赞
2009-5-17 11:46
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
求:电磁阀电路
怎么读取系统时间
基于气动人工肌肉的双足机器人关节设计
常用接口电路及其编程
英特尔移动战略将进入新阶段:手机平板并重
世界杯刺激2010年机顶盒销售
基于FPGA的VGA显示接口的设计
决定示波器探头价格的主要因素
请问wince5下三星2440的定时器准不准
EEWORLD DIY——基于ArduinoUNO的USB电量计
push message编码问题
请问KEIL C与Proteus联合调试
大功率宽带射频脉冲功率放大器设计
板子上挂载U盘的问题,udev不能执行我的脚本?
放大器学习笔记
求助用FPGA编一个电子密码锁
tl084和一个三极管组成的一个放大电路 求分析
干货——高速ADC电源设计至关重要的各种测试测量方法
MathWorks 新增 Piccolo 支持与最新 C2000 MCU 网站
气动电磁阀的工作原理是什么?气动电磁阀有哪些分类?
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复