请大家帮帮忙,ch375芯片怎样创建文件,修改文件?
使用文件级子程序库可以直接调用库函数就可以创建文件和修改文件,可以到网上下载CH375LIB.ZIP/FILELIB4例子程序.
那是芯片的例子吗?我用的是ch375的芯片。
就是例子程序,你完全可以使用
谢谢
但是CH375FileCreate和CH375FileOpen都是模块里的子程序啊,芯片里没有这样的命令。
extern UINT8 CH375GetVer( void ); /* 获取当前子程序库的版本号 */ extern void CH375Reset( void ); /* 复位CH375 */ extern UINT8 CH375Init( void ); /* 初始化CH375 */ extern UINT8 CH375DiskConnect( void ); /* 检查磁盘是否连接 */ extern UINT8 CH375DiskReady( void ); /* 查询磁盘是否准备好 */ extern void CH375DirtyBuffer( void ); /* 清除磁盘缓冲区 */ extern UINT8 CH375FileOpen( void ); /* 打开文件或者枚举文件 */ extern UINT8 CH375FileClose( void ); /* 关闭当前文件 */ #ifdef EN_DISK_WRITE extern UINT8 CH375FileErase( void ); /* 删除文件并关闭 */ extern UINT8 CH375FileCreate( void ); /* 新建文件并打开,如果文件已经存在则先删除后再新建 */ #endif extern UINT8 CH375FileModify( void ); /* 查询或者修改当前文件的信息 */ extern UINT8 CH375FileLocate( void ); /* 移动当前文件指针 */ extern UINT8 CH375FileReadX( void ); /* 从当前文件读取数据到指定缓冲区 */ #ifdef EN_DISK_WRITE extern UINT8 CH375FileWriteX( void ); /* 向当前文件写入指定缓冲区的数据 */ #endif #ifdef EN_BYTE_ACCESS extern UINT8 CH375ByteLocate( void ); /* 以字节为单位移动当前文件指针 */ extern UINT8 CH375ByteRead( void ); /* 以字节为单位从当前位置读取数据块 */ #ifdef EN_DISK_WRITE extern UINT8 CH375ByteWrite( void ); /* 以字节为单位向当前位置写入数据块 */ #endif #endif extern UINT8 CH375DiskSize( void ); /* 查询磁盘容量 */ extern UINT8 CH375DiskQuery( void ); /* 查询磁盘信息 */ #ifdef EN_SAVE_VARIABLE extern void CH375SaveVariable( void ); /* 备份/保存/恢复子程序库的变
这写子程序都在那啊?去哪找啊
大家来看看
这些子程序都是在库中做好的,你只需要调用它们就可以完成对U盘的各种操作了。下载CH375LIB.ZIP,里面有各种常见单片机的子程序库。
那我要是不使这个库呢? 我该怎么办?大家帮帮忙。谢谢了。
如果不使用我们子程序库的话,我们提供了可以读写U盘物理扇区的例子程序(CH375EVT\PUB\MCS51C\MISCELL\CH375EV0.C),而文件系统相关部分得你自己根据文件系统协议来处理了。
谢谢
但是这个程序我看了,里边那句是创建文件的语句啊,我买了你们公司的产品,但是不想用你们的子程序,想自己编一个,这个程序: printf( "ReadSector 0# to buffer\n" ); c = mReadSector( 0, 1 ); if ( c ) printf( "Error @ReadSector, %02X\n", c ); if ( DATA_BUFFER[0x01FF] == 0xAA ) { /* 磁盘分区有效 */ printf( "WriteSector 1# from buffer\n" ); c = mWriteSector( 1, 1 ); if ( c ) printf( "Error @WriteSector, %02X\n", c ); memset( DATA_BUFFER, 0, 512 ); /* 清空数据缓冲区,代替原来的分区信息 */ printf( "WriteSector 0# for clear\n" ); c = mWriteSector( 0, 1 ); if ( c ) printf( "Error @WriteSector, %02X\n", c ); } else { printf( "ReadSector 1# to buffer\n" ); c = mReadSector( 1, 1 ); if ( c ) printf( "Error @ReadSector, %02X\n", c ); printf( "WriteSector 0# from buffer\n" ); c = mWriteSector( 0, 1 ); if ( c ) printf( "Error @WriteSector, %02X\n", c ); } printf( "Stop\n" ); while ( 1 ) { mIntStatus = mWaitInterrupt( ); /* 等待中断并获取状态 */ if ( mIntStatus == USB_INT_DISCONNECT ) { /* U盘没有连接或者已经拔出 */ printf( "Out\n" ); LED_OUT_INACT( ); } else if ( mIntStatus == USB_INT_CONNECT ) { /* U盘已经连接 */ printf( "In\n" ); LED_OUT_ACT( ); } } } 就是这个,我想创建一个文件,然后再向文件里写东西,这个程序应该怎么谢啊?
这个只是读写U盘物理扇区的例子程序,具体涉及到文件系统部分,得你自己按文件系统的协议进行处理了,如:文件系统分析、文件目录项、FAT表处理等。
那我应该怎么编程啊,具体从那下手啊?帮帮忙吧
自己去看下我们网站上面的一个CH375FAT。ZIP,这个是一个简单的FAT16的文件系统的例子程序,你可以参考这个,如果自己想要写的话,我建议你还是先看下文件系统的详细说明吧