主控芯片:PICF18
通讯方式:8位并口
中断方式:状态最高位检测
问题:以字节方式写数据,只能写255byte,超过255字节,文件中仅有一个字节(这个字节无规律),求解!
解析:经过检查发现,超过255字节时,需要使用命令 CMD0H_BYTE_WR_GO 检查是否继续写入,但是这个指令返回的中断值一直是14H,超过255字节正常反馈值应该是1EH
请哪位大神帮忙看一下问题在哪里?
主控芯片:PICF18
通讯方式:8位并口
中断方式:状态最高位检测
问题:以字节方式写数据,只能写255byte,超过255字节,文件中仅有一个字节(这个字节无规律),求解!
解析:经过检查发现,超过255字节时,需要使用命令 CMD0H_BYTE_WR_GO 检查是否继续写入,但是这个指令返回的中断值一直是14H,超过255字节正常反馈值应该是1EH
请哪位大神帮忙看一下问题在哪里?
单次字节写方式写入数据最高只支持到255字节,可以调用多次字节写命令,如果数据较多,可用扇区写
我使用 CMD0H_BYTE_WR_GO 继续写指令,收到的中断信息为 14H,正常应该为1EH
我理解的流程应该是这样的:
例如:本次需要写入的字节数为:512字节,先写入255字节后,使用 CMD0H_BYTE_WR_GO 指令,会收到中断 1EH,然后继续写数据255字节,再发送 CMD0H_BYTE_WR_GO 指令 ,收到中断1EH,然后继续写数据2字节,再次发送 CMD0H_BYTE_WR_GO 指令,后收到非 1EH指令,即写操作结束
但是实际的情况是:
例如:本次需要写入的字节数为:512字节,先写入255字节后,使用 CMD0H_BYTE_WR_GO 指令,会收到中断 14H,不会收到1EH,且没有写入USB的数据
一次完整的字节写操作通常由一个 CMD_BYTE_WRITE 命令启动操作,并由若干次中断通知和若干
次数据块写入和若干个 CMD_BYTE_WR_GO 命令组成,,中间是会产生1E中断,最后全部写入完毕返回14中断,一个CMD_BYTE_WRITE最多写入255字节,您尝试写入少量字节分多次写入看是否有数据