我在定义一个数组去接收USB端发送大于32字节的数据时,接收到的数据只有32字节后的数据,前面32字节的数据被覆盖了,发送32字节以下的数据时可以正常接收的。请问这种情况怎么做处理。
热门产品 :
CH32X035: 32位USB+USB PD单片机
我在定义一个数组去接收USB端发送大于32字节的数据时,接收到的数据只有32字节后的数据,前面32字节的数据被覆盖了,发送32字节以下的数据时可以正常接收的。请问这种情况怎么做处理。
被覆盖的意思是从33字节开始的数据将前32字节覆盖,且数据本身正确?
CH554的端点收发长度为64字节,所以32字节是否为上层协议规定的传输?导致超过32字节长度在USB底层包上进行了分包传输。同时单片机在收到头包之后没有立刻处理该包,且没有将端点相应状态改成NAK,导致下包的传输事务完成,就出现了覆盖。