用串口通讯模式,ch376可以常常mount到u盘。但是: 1 在CH376FileOpenPath(buf)后,找到符合条件的文件,用CH376ReadBlock(buf), 读出数据到buf中,文件名第一个字节多了0x20. 2 用CMD0H_FILE_ENUM_GO命令,继续枚举文件,用CMD_GET_STATUS获取中断状态时,发现读出的数据为0x38. 这是为什么呢?
查看: 3899
回复: 6
ch376枚举文件问题
热门产品 :
CH339: 7端口多功能USB HUB控制器芯片
1、发送完读命令(27H)之后,会先读取一个长度,然后根据这个长度来读取数据。 2、CMD0H_FILE_ENUM_GO命令发完之后,如果没有枚举完成会返回0x1D。我们没有0x38的错误码,你再好好检查一下中断配置和读取这一块。
先在执行完s = CH376FileOpen( &PathName[s] );后,返回的s数值在单步运行时是0x00,在全速运行时是0x03,不知道是什么情况,之前并口调试的挺好的,现在换成串口,就不行了,请帮忙分析一下吧
cpu是stm32F103
确保CH376diskmount正确通过,单步运行和全速运行的区别就是执行的速度不一样,你可以在读写函数之间加一些延时试一下。
返回值03是什么错误呢,是什么原因呢?
0x03代表磁盘已经初始化成功,但是尚未分析文件系统或者文件系统不支持。 如果磁盘初始化正确通过之后,检查打开的文件名是否正确?延时问题?或者换一个U盘试一下
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录