求教关于 CH375 写数据的问题

1、我在调用 CH375FileCreate( ) 子程序创建新文件时,总是中途卡在 CH375HFQ.H 文件中,子程序 xQueryInterrupt( ) 的第一行:while (CH375_INT_WIRE) 命令行,通过单步调试检查发现,是卡在该库函数 CH375FileCreate( ) 第一次调用 CH375HFQ.H 文件中 xQueryInterrupt( ) 时的位置。由于看不到库函数 CH375FileCreate( ) 的具体程序内容,所以不清楚这是什么原因?为什么在此之前,我做 CH375 的测试、主机模式设置、U 盘识别等环节都正常产生了中断,执行该库函数时,就不正常了?

2、当我使用子程序 CH375Init()通过 CMD_SET_USB_MODE 命令设置主机工作模式 6 时,不插 U 盘时可以设置成功,但是插上 U 盘之后,就无法设置成功了,即使是在 U 盘插入后,进行 USB 总线复位设置时,也无法成功设置模式 7 !请问这是什么原因?应该如何解决?

1,你使用的单片机的主频是多少的?你可以试下FILEOpen这个函数,按照你说的,在创建文件的时候,实际是需要读取U盘扇区的数据,你仔细检查下你的磁盘缓冲区,看会不会这个地方出了问题。 2,那你就插上U盘做测试命令,看下通过不通过,如果不通过的话,那么,返回的是什么数据,按照你说的这个现象,更象是你的供电这部分会不会有什么问题存在


1、我使用的是 MOTO 的 MC9S12DJ64 单片机,使用的晶振是 16 M ,单片机有 64K 的 EEPROM , 4K 的 RAM ,1K 的 EEPROM . 我设置的缓冲区是: DISK_BASE_BUF_ADDR 0xA000 FILE_DATA_BUF_ADDR 0x8000 FILE_DATA_BUF_LEN 0x0400 MC9S12DJ64 单片机 Memory 定义为: The 1K EEPROM is mapped twice in a 2K address space. Note that after reset the bottom 1k of the EEPROM ($0000 - $03FF) are hidden by the register space, and the 1K ($0400 - $07FF) is hidden by the RAM. $0000 - $07FF :EEPROM array 1k Array mapped twice in the address space $0000 - $0FFF :RAM array $4000 - $7FFF :Fixed Flash EEPROM array incl. 0.5K, 1K, 2K or 4K Protected Sector at start $8000 - $BFFF :Flash EEPROM Page Window $C000 - $FFFF :Fixed Flash EEPROM array incl. 0.5K, 1K, 2K or 4K Protected Sector at end and 256 bytes of Vector Space at $FF80 - $FFFF

2、我插上 U 盘做过测试命令 CMD_CHECK_EXIST ,返回值正确,发送 0x55,返回 0xAA ;我还测试了命令:CMD_GET_IC_VER ,返回值为 0xA4,我使用的是 CH375A .但是只有设置主机工作模式命令 6,使用命令 CMD_SET_USB_MODE ,返回值是 0xFF ,无法成功设置 !进行 USB 总线复位,设置工作模式 7 时,也无法成功设置,返回值是 0xFF !


只有登录才能回复,可以选择微信账号登录