做网站的厉害还是黑网站的厉害wordpress房产插件
news/
2025/9/29 1:10:16/
文章来源:
做网站的厉害还是黑网站的厉害,wordpress房产插件,深圳外贸建站网络推广联客易,哪里有免费做网站SD卡数据的写入或者读取#xff0c;需要将数据写入SDIO的FIFO寄存器#xff0c;然后通过FIFO寄存器进行数据的发送。FIFO寄存器是32位的寄存器#xff0c;操作 SDIO_FIFO#xff08;不论读出还是写入#xff09;必须是以 4 字节对齐的内存进行操作#xff0c;否则将导致出… SD卡数据的写入或者读取需要将数据写入SDIO的FIFO寄存器然后通过FIFO寄存器进行数据的发送。FIFO寄存器是32位的寄存器操作 SDIO_FIFO不论读出还是写入必须是以 4 字节对齐的内存进行操作否则将导致出错无论哪个函数其数据 buf 的地址都必须是 4 字节对齐的[buf是为了写入数据或者读出数据而创建的缓存区的首地址指针]。 所以下面写入代码会对buf进行判断判断buf的地址是不是四字节对其的。 if((uint32_t)buf%4!0) //判断buf指针的内存四不是4字节对齐的。 { printf(buf地址 是四字节对其的) } /* 下面是SRAM的32字节对齐的设置示例 */ __align(32) u8 mem2base[MEM2_MAX_SIZE] __attribute__((at(0X68000000))); //外部SRAM内存池 3.2、SD卡数据的写入 SD卡的数据写入分为单个block块的写入多个block块的写入。许多的SD卡的配置和SDIO的配置都是在写入函数中配置的。例如SD卡的block块的大小SD卡的数据总线的数量SD卡的DMA模式的收发配置等都是在收发sd数据的函数中进行配置的。 下面是sd卡的写block块的函数该函数是调用SD卡的写一个或者多个block块的函数此函数的封装是为了对接FATFS文件系统的内存管理接口的函数对接需要三个参数读写数据的缓冲区指针写入那个内存块写多少个内存块。
//写SD卡
//buf:写数据缓存区
//sector:扇区地址,根据512字节块进行增加的
//cnt:扇区个数
//返回值:错误状态;0,正常;其他,错误代码;
uint8_t SD_WriteBlock(uint8_t*buf,uint32_t block,uint8_t cnt)
{uint8_t re_statusSD_OK;uint8_t n;long long llblockblock;if(SD_CardInfo.CardType!SDIO_STD_CAPACITY_SD_CARD_V1_1)llblock9;//因为SDIO的FIFO寄存器为32位4个字节所以写入的字节数必须是4的倍数如果不是就进行填充//所以需要下面的判断if((uint32_t)buf%4!0) //判断buf地址是不是4的余数{for(n0;ncnt;n){/* 从这里的512就可以判断卡的block的大小 */memcpy(Sdio_Data_Buffer,buf,512); //因为SDIO的FIFO寄存器为32位4个字节所以写入的字节数必须是4的倍数如果不是就进行填充re_statusMy_SD_MMC.Write_OneBlock(Sdio_Data_Buffer,llblock512*n,512); //单个sector的写操作buf512;} }else{if(cnt1)re_statusMy_SD_MMC.Write_OneBlock(buf,llblock,512); //单个sector的写操作else re_statusMy_SD_MMC.Write_MultiBlocks(buf,llblock,512,cnt); //多个sector }return re_status;
}下面将针对sd卡写入多个内存块和写入单个内存块的函数进行讲解。
3.2.1、写入单个内存块 写入单个内存块的函数如下所示 /* (1) buf写入数据的指针必须是4字节地址对齐的。 (2) addr写入sd卡的地址数据地址从0开始一个地址对应一个字节byte。 (3) blksizesd卡的写入读出的块的大小单位byte。 */ SD_Error Write_OneBlock(uint8_t *buf, long long addr, uint16_t blksize) 下面是函数的流程图 3.2.2、写入多个内存块 3.3、SD卡数据的读取
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/921330.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!