非常感谢贵公司和各位 USB 方面的高手长久以来对我的指点和支持! 尤其要感谢 luoye268268 和 usbxf 的指点,使我找到了长久以来影响 U 盘正常通讯的毛病:延时不当的问题!谢谢,非常感谢! 现在我参考 MISCELL 文件夹中 CH375EV0 所给的示例程序,调试 U 盘的物理扇区读写,虽然所有使用的 U 盘都能够顺利完成 mReadSector( UINT32 iLbaStart, UINT8 iSectorCount ) 和 mWriteSector( UINT32 iLbaStart, UINT8 iSectorCount ) 函数,并且返回值也都是正确的,但是,察看 U 盘后发现,实际并没有将任何数据写入相应的扇区! 请问这是因为数据缓冲区定义不当引起的问题吗?但是,MISCELL 文件夹中 CH375EV0 所给的示例程序中,并没有定义 DISK_BASE_BUF_ADDR 和 FILE_DATA_BUF_ADDR ,只是定义了一个可变字符串 DISK_BUFFER[512] 啊? 我用 DISK_BASE_BUF[512] 代替 DISK_BUFFER[512] 时,程序编译可以通过,但是如前所述,实际并没有将任何数据写入相应的扇区!我去掉 DISK_BASE_BUF_ADDR 和 FILE_DATA_BUF_ADDR 的定义,按示例程序那样定义 unsigned char volatile DISK_BUFFER[512] 或者 unsigned char DISK_BUFFER[512] 时,程序编译提示 CH375HFQ.H 头文件中的 typedef unsigned char BOOL1 定义错误:"Expected: ;=" !(我使用的是 MOTO 的 MC9S12D64 单片机,调用的是 CH375HFQ.H 头文件)请问这是何原因? 请问是否一定要像所给的示例程序那样,给 DISK_BUFFER[512] 定义一个固定的内存地址?如果是,请问对于 MC9S12D64 单片机来说,应该如何定义? 再次向各位高人表示感谢!还请各位高手能够多多指教!谢谢!
为什么没有人回贴啊?没有人遇到过类似的问题吗? 听说 CH375LIB 文件包中,并不是所有类型的库函数都支持写文件级子程序的操作!也就是说,有些文件级库函数是支持写文件操作的?请问这是真的吗?如果是真的,请问有哪些类型的库函数是不支持写文件操作的? 谢谢!
实际上我们的库是可以实现文件系统的读写以及创建文件的,实际的使用我们库的时候,定义的磁盘缓冲区的名称就是DISK-BASE-BUF,我们有提供给你例子程序,你可以拿我们的例子程序来测试下看可以不可以进行U盘的读和写,你上面说的定义不同的缓冲区的话,这个在我们库里面使用的磁盘缓冲区的名称就是DISK-BASE-BUF,换成别的话就会报未定义的错误的,对于是51内核的单片机,都可以使用我们的库来进行对U盘进行操作,建议使用LIB5库来编译
谢谢!问题找到了!是因为我把 #include "CH375INC.H" 放错了位置!应该把它放在参数预定义之后外部函数声明之前的位置,所以编译时报错!谢谢了! 我使用的是 MOTO 的 MC9S12D64 单片机,调用的是 CH375LIB.ZIP 中 MC9S12 文件夹里的 CH375HFQ.H 头文件和 CH375HFQ.LIB 库文件,请问是否支持对 U 盘的读写操作?