最近在调试STM32的USB。设置三个端点。
端点0作为控制端点,端点1作为批量读端点,端点2作为批量写端点;
现在在windows上用测试软件发现写完全正常,但是读取STM32的数据时,总是需要读取两次,第一次读取的数据是上一次的数据,只有读取第二次才能读取正确。其中端点0没有用到。
测试如下:
第一次开机运行,windows写32字节数据A给STM32,windows读刚刚发送STM32数据A,结果发现全为0XCC。后续windows再读一次STM32数据就可以读取正确。
后续每次都是如此。
现在肯定是STM32出问题了,但是不知道是什么环节设置出的问题,我是用STM32的USB库修改过来的程序。望高手指点一下。 |