CH376_RST = 1; /* 复位 */
delay_ms( 20 );
CH376_RST = 0; /* 禁止复位 */
delay_ms( 100 ); /* 延时100毫秒 */
imInitCH376Host( ) ; /* 初始化CH376 */
/* 读写U盘 */
if(CH376DiskConnect()==USB_INT_SUCCESS)/* 检查U盘是否连接,不支持SD卡 */
{
if(CH376DiskMount()==USB_INT_SUCCESS)/* 初始化磁盘并测试磁盘是否就绪 */
{
/* 获取出厂信息 */
i = CH376ReadBlock( buf ); /* 如果需要,可以读取数据块CH376_CMD_DATA.DiskMountInq,返回长度 */
if ( i == sizeof( INQUIRY_DATA ) ) /* U盘的厂商和产品信息 */
{
buf[ i ] = 0;
printf( "UdiskInfo: %s
", ((P_INQUIRY_DATA)buf) -> VendorIdStr );
}
printf( "DiskQuery: " ); /* 检查U盘或者SD卡的剩余空间 */
s = CH376DiskQuery( (PUINT32)buf ); /* 查询磁盘剩余空间信息,扇区数 */
printf("s=%02x
",(unsigned short)s );
printf( "free cap = %ld MB
", *(PUINT32)buf / ( 1000000 / DEF_SECTOR_SIZE ) );
/* 创建 */
printf( "Create file :" );
strcpy( (char *)TarName, "
\ABC.TXT" ); /* 目标文件名 */
s = CH376FileCreatePath( TarName ); /* 新建多级目录下的文件,支持多级目录路径,输入缓冲区必须在RAM中 */
printf("s=%02x
",(unsigned short)s );
/* 写入*/
printf( "Write :" );
strcpy((char *)buf, "测试成功1234567890" );
s = CH376ByteWrite( buf, strlen((const char *)buf), NULL ); /* 以字节为单位向当前位置写入数据块 */
printf("s=%02x
",(unsigned short)s );
/* 关闭文件 */
printf("close file " );
s = CH376FileClose( TRUE ); /* 关闭文件,对于字节读写建议自动更新文件长度 */
printf("s=%02x
",(unsigned short)s );
}
}
完整工程
http://www.openedv.com/posts/list/6006.htm
---------------------------------
是的,就是这个目的。
一周热门 更多>