在执行完命令 CMD_BYTE_WRITE 后中断值为1EH 问题是用什么方式写入数据:是用 CMD_WR_REQ_DATA命令还是直接写数据
写数据按照下面的操作步骤来写: 1. 发送CMD2H_BYTE_WRITE(3CH)字节写命令; 南京沁恒电子有限公司 Tel: (025)84730668 Fax: (025)84730778 Web: / 11 2. 接着写需要写后续字节写数据长度。最多支持字节数位65535个字节; 3. 等待中断,如果中断状态为USB_INT_DISK_WRITE(1EH); 4. 发送CMD01_WR_REQ_DATA(2DH)命令,读取可以往CH376 数据长度。接着循 环写数据; 5. 写完数据之后,发送CMD0H_BYTE_WR_GO(3DH),等待中断,如果中断状态为 USB_INT_DISK_WRITE(1EH)则重新调用步骤4 循环写数据。如果其他中断状 态,则写完成;
哦 谢谢 还有个问题就是在中断的时候返回两个数据时怎么回事,比如在执行完CMD2H_BYTE_WRITE后先返回一个 41H 后返回一个1EH
先写CMD2H_BYTE_WRITE命令,然后写两个字节的后续数据长度,然后CH376会产生一个中断,然后单片机发送0x22命令读中断状态,如果中断状态是0x1e,则写入数据。所以不会返回两个数据
我现在关键问题是出在执行完WR_REQ_DATA命令后没有返回CMD_RET_SUCCESS 在执行完WR_REQ_DATA后也收到了允许写入数据为0FH跟之前要写入的数据长度是一样的