CH376S操作底层代码疑惑,望高手解决下~

我试着自己写CH376S的驱动,先从在根目录创建一个文件夹开始,结果就出问题了,具体步骤如下:

(使用的是串口)

1、系统上电,发送57 AB 06 22,返回DD,说明通讯接口工作正常

2、57 AB 15 05,等待U盘接入

3、U盘接入

4、57 AB 15 07复位总线

5、57 AB 15 06,切换到主机自动SOF模式

6、57 AB 31,check disk mount,datasheet上说操作文件系统的时候必须要先有这个指令,之后我用57 AB 27也就是RD_USB_DATA0指令确实读回了一串数据,里面有我U盘厂商的名字(台电科技的英文名字)

7、57 AB 2F 2F 41 41 41 00,set file name "/AAA\0",要创建一个名为AAA的根目录文件夹

8、57 AB 40,创建dir

9、57 AB 36 00,关闭文件,不允许自动更新大小(datasheet上这么说的)

然后我拔下U盘查到电脑上发现容量上少了一个扇区的大小(4KB),但是并没有看到新建的文件夹

之后我尝试了根目录新建一个文件并写入点数据,也是同样,容量小了一个扇区,别的什么都没发生


然后我看了下官方的驱动代码,里面在我的7 8步骤之间调用了CH376WriteVar32,这个函数内部发送了一个datasheet上没有提及的代码为0D的指令,貌似是写入什么寄存器,我按照驱动上的要求也加了这么一步:57 AB 0D 64 00 00 00 00,结果还是没有用


谁知道哪里出问题了呢?


PS:希望高手解答下哈,别问我我在说什么了,谢谢了~~~~~


顺便说一下,中间有些步骤返回一些结果代码,我对照了下datasheet,都表示正常进行的,没有错误代码


一次执行57 AB 31中断返回的就是14吗?执行一次CMD01_GET_IC_VER 0x01,返回码是多少


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