完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用ATmega128A里面的硬件SPI控制SD卡,初始化和读取数据都成功,在向SD卡扇区里面写数据的时候,时序也是对的,但是该扇区里面的数据全部变成0xFF,而不是我想写进去的数据。
BYTE disk_writep ( const BYTE *buff, /* Pointer to the bytes to be written (NULL:Initiate/Finalize sector write) */ DWORD sa /* Number of bytes to send, Sector number (LBA) or zero */ ) { BYTE res =1; BYTE r; unsigned int ty = 0; SELECT(); if(!(CardType&CT_BLOCK)){ sa*= 512; } if(send_cmd(CMD24,sa) == 0){ SPI_MasterReviceByte(); SPI_MasterSendByte(0xFE); for(ty = 0; ty <512; ty++){ SPDR = buff[ty]; while(!(SPSR&(1< } SPI_MasterReviceByte(); SPI_MasterReviceByte(); for(ty =0; ty <1000; ty++){ res = SPI_MasterReviceByte(); if(res!=0xFF){ break; } } if((res&0x1F)==0x05){ res = 0; } do{ r= SPI_MasterReviceByte(); }while(r!=0xff); } DESELECT(); SPI_MasterReviceByte(); return res; } |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5109 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7758 浏览 0 评论
3016 浏览 2 评论
3100 浏览 1 评论
10044 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-14 23:18 , Processed in 0.354649 second(s), Total 44, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号