




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
typedefunsignedcharboolean;/*布尔变量*/ typedefunsignedcharuint8;/*无符号8位整型变量*/ typedefsignedcharint8;/*有符号8位整型变量*/ typedefunsignedshortuint16;/*无符号16位整型变量*/ typedefsignedshortint16;/*有符号16位整型变量*/ typedefunsignedintuint32;/*无符号32位整型变量*/ typedefsignedintint32;/*有符号32位整型变量*/ typedeffloatfp32;/*单精度浮点数(32位长度)*/ typedefdoublefp64;/*双精度浮点数(64位长度) #defineR00 #defineR11 #defineR1b2 #defineR23 #defineR34 uint32loop_time; uint8rep5; #definenop()do;while(0); #defineCS_PIN6/RSVD4 #defineDI_PIN7/RWVD6 #defineSD_CS_PORTrPDATE #defineSD_CS_DDR_PORTrPCONE #defineSD_CS_PUP_PORTrPUPE #defineSD_DI_PORTrPDATE #defineSD_DI_DDR_PORTrPCONE #defineSD_DI_PUP_PORTrPUPE #defineDO_PIN12/ENVD5 #defineCLK_PIN13/RSVD4 #defineSD_DO_PORTrPDATC #defineSD_DO_DDR_PORTrPCONC #defineSD_DO_PUP_PORTrPUPC #defineSD_CLK_PORTrPDATC #defineSD_CLK_DDR_PORTrPCONC #defineSD_CLK_PUP_PORTrPUPC #defineCS_LOW()SD_CS_PORT&=(1CS_PIN) #defineCS_HIGH()SD_CS_PORT|=(1CS_PIN) #defineDI_LOW()SD_DI_PORT&=(1DI_PIN) #defineDI_HIGH()SD_DI_PORT|=(1DI_PIN) #defineCLK_LOW()SD_CLK_PORT&=(1CLK_PIN) #defineCLK_HIGH()SD_CLK_PORT|=(1CLK_PIN) #defineDO()SD_DO_PORT&(0x01DO_PIN) #define_400KHZ_128 #define_10MHZ_1 /- /延时 staticvoidloop(uint32i) /- while(i-) ;/nop(); /- /发送一字节数据 staticvoidSPI_send(uint8cmd) /- uint8i; uint8MASK=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01; for(i=0;i8;i+) CLK_LOW(); if(cmd&MASKi) DI_HIGH(); else DI_LOW(); loop(loop_time); CLK_HIGH(); /- /接收一字节数据 staticuint8SPI_receive(void) /- uint8i; uint8ret=0; uint8MASK=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01; for(i=0;i24); SPI_send(arg16); SPI_send(arg8); SPI_send(arg); SPI_send(0x95); switch(ACK) caseR0: return1; caseR1: len=1; break; caseR2: len=2; break; caseR3: len=5; break; default: return0; break; for(i=0;i=100) SPI_send(0xff); return0; rep0=status; for(i=1;ilen;i+) repi=SPI_receive(); SPI_send(0xff); return1; /- staticvoidReset(void) /- CS_LOW(); SendCommand(0x00,0x00,R0); CS_HIGH(); /- staticuint32IsSD(void) /- uint32i; CS_LOW(); for(i=0;i1000;i+) SendCommand(55,0x0000,R1); SendCommand(41,0x0000,R1); if(!rep0) break; loop(200); CS_HIGH(); returni!=100; /- staticuint32IsMMC(void) /- uint32i; CS_LOW(); for(i=0;i1000;i+) SendCommand(1,0x0000,R1); if(!rep0) break; loop(200); CS_HIGH(); returni!=100; /- intSD_erase(uint32sector,uint8*buff) /- CS_LOW(); if(!SendCommand(32,sector9,R1)|!SendCommand(33,sector9,R1)|!SendCommand(38,0x0000,R1) CS_HIGH(); return0; while(!DO() SPI_send(0xff); CS_HIGH(); return1; uint32SD_read(uint32sector,uint8*buff) uint32i; CS_LOW(); if(!SendCommand(17,sector9,R1) CS_HIGH(); /UART_puts(readerr1); return0; for(i=0;i=100) CS_HIGH(); /UART_puts(readerr2); return0; for(i=0;i512;i+) *buff+=SPI_receive(); SPI_receive(); SPI_receive(); SPI_send(0xff); CS_HIGH(); /UART_puts(readOK); return1; uint32SD_write(uint32sector,uint8*buff) uint32i; CS_LOW(); SendCommand(24,sector9,R1); SPI_send(0xfe); for(i=0;i512;i+) SPI_send(buffi); SPI_send(0xff); SPI_send(0xff); for(i=0;i=100) /UART_puts(writeerr1); return0; while(!DO() SPI_send(0xff); CS_HIGH(); /UART_puts(writeOK); /下面其实是复位 loop_time=_400KHZ_; SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); IsSD(); loop_time=_10MHZ_; /完 return1; voidSD_install(void) loop_time=_400KHZ_; SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); SPI_send(0xff); Reset(); if(!IsSD()&!IsMMC() /UART_puts(unknowncardtype!n); return; /UART_puts(SD/MMCcardfound!nNowloadingSD/MMCdriver.n);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民爆物品安全培训会课件
- 初二八校联考试卷及答案
- 棒球专业考试题库及答案
- 民族风课件教学课件
- 算力与新质生产力的关联
- 安全生产管理系统讲解
- 新质生产力的发展策略
- 文旅产品融入新质生产力探索
- 民族的课件教学课件
- 陕西新质生产力十大产业榜单
- 2025版全新离婚协议书:财产分割、子女抚养及离婚后财产保全合同范本
- 石油钻井知识课件
- “学回信精神·助改革发展”专题调研报告
- 2025年医学基础知识题库及答案
- (2025秋新版)苏教版三年级数学上册全册教案
- 职业院校实习生考核评价标准
- 水果保鲜的秘密课件
- 无人机公开课课件
- 2025年事业单位招聘考试综合类职业能力倾向测验真题模拟试卷:电子信息工程领域
- 仓库维修协议书
- 城管协管员面试题及答案
评论
0/150
提交评论