现在初始化通过了 我下一步该做什么呀 哪些是要自己写的? 谢谢
按照我们的例子程序来对U盘进行初始化,U盘初始化完成之后在对U盘进行写的过程,具体的例子你可以下载CH375EVT。ZIP,里面有一个操作物理扇区的51的例子程序,你可以参考
具体是哪一个呀? 我用的是中断方式 cpu也不一样的不是51的
下载CH375EVT.ZIP,参考:CH375EVT\PUB\MCS51C\MISCELL\CH375EV3.C。这个是操作物理扇区中断方式的例子。
在CH375EVT。ZIP下面有一个MISCELL文件夹,里面就是操作物理扇区的例子,单片机不是51的话,那可以参考你的单片机修改下就可以工作了,主要就是修改一下硬件上面的连线,大小端的问题
U盘的文件夹怎么建立呀
这个你可以参考下文件系统,实际在创建文件夹的时候,对于文件系统来说,实际上还是把文件夹当做一个文件来创建的,只不过在创建文件夹的目录项里面把文件的属性修改为文件夹,还有在填写文件夹的首簇的时候,填写的首簇的位置实际上就是在文件夹下面创建文件的目录项所在的位置,具体的你可以参考FAT16或者FAT32的资料说明,上面有详细的介绍
好的 那么我存入u盘的数据是什么格式的呢?
shen me dou ke yi
CH375_WR_CMD_PORT( CMD_RD_USB_DATA ); /*CH375中读取数据块 */ mLength = CH375_RD_DAT_PORT( ); /* 后继数据块的长度*/
长度的返回值是0 是不是因为我没给缓存区写数据呀? 如果我往缓存区写数据375在什么模式下? 模式切换数据会丢失吗?
你之前有没有 发读扇区或者其他请求CH375从U盘中获取数据的命令啊?????
有呀
CH375_WR_CMD_PORT( CMD_DISK_READ ); CH375_WR_DAT_PORT( (unsigned char)iLbaStart ); CH375_WR_DAT_PORT( (unsigned char)( iLbaStart >> 8 ) ); CH375_WR_DAT_PORT( (unsigned char)( iLbaStart >> 16 ) ); CH375_WR_DAT_PORT( (unsigned char)( iLbaStart >> 24 ) ); CH375_WR_DAT_PORT( iSectorCount ); mBufferPoint = buffer; for ( mBlockCount = iSectorCount * CH375_BLK_PER_SEC; mBlockCount != 0; mBlockCount -- ) { mIntStatus = wait_interrupt( ); if ( mIntStatus == USB_INT_DISK_READ ) {
displaydata(20,35,mIntStatus,3,1);
CH375_WR_CMD_PORT( CMD_RD_USB_DATA ); mLength = CH375_RD_DAT_PORT( );