WCH沁恒单片机
直播中

carey123

10年用户 1569经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[问答]

请问DISK_BASE_BUF_LEN =512是否可以往扇区是2K的u盘字节写文件?

请教大神一个问题,    我用ch375B芯片只想实现向u盘写一个文件,参考CH375LIBMCS51FILELIB5EXAM7 例子,C文件中有下面的代码,我的问题是只要条件( DISK_BASE_BUF_LEN < CH375vSectorSize ) 满足就不能写文件了吗?我定义的DISK_BASE_BUF_LEN =512, 如果插入的u盘扇区是2K就无法写文件吗?CH375vSectorSize 是在调用CH375DiskReady()时库函数读的取的U盘信息吗? 还是后面字节写文件的库函数中会用到磁盘数据缓冲区??

#if DISK_BASE_BUF_LEN
if ( DISK_BASE_BUF_LEN < CH375vSectorSize ) {  /* 检查磁盘数据缓冲区是否足够大,CH375vSectorSize是U盘的实际扇区大小 */
printf( "Too large sector sizen" );
while ( CH375DiskConnect( ) == ERR_SUCCESS ) mDelay100mS( );
continue;           ------------
}
#endif
非常感谢!!
  

回帖(1)

吕品

2022-7-8 09:38:58
您好,您看一下,如果您的U盘扇区大小是2KB,那么您需要使用SET_PKT_P_SEC这个命令去设置扇区大小(数据包总数),给的值为扇区大小/64(对于2KB也就是32)。具体可以参考CH375手册5.8小节以及5.16小节。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分