描述:
在做mass storage driver,bulk-only传输时
1。 数据传输的端点中断是什么时候打开的呢,一般是任务一开始还是ep0配置结束后呢?枚举时要RESET的呀。
2。控制端点ep0枚举结束后,一般会触发什么中断, SOF_W_COUNT还是SOF_AND_FIFO,它们之间区别是什么呢?
3。SHORT PACKET和普通PACKET作用有什么区别呢
概念还不是很清晰,大侠指点啊
解决方案1:
1。 数据传输的端点中断是什么时候打开的呢,一般是任务一开始还是ep0配置结束后呢?枚举时要RESET的呀。
配置完开中断。reset是bus reset,并不是芯片reset。端点配置不变。
------------------------------------------------------------------
2。控制端点ep0枚举结束后,一般会触发什么中断, SOF_W_COUNT还是SOF_AND_FIFO,它们之间区别是什么呢?
一般usb芯片都有setup中断标志位。
“SOF_W_COUNT还是SOF_AND_FIFO”大概和SOF有关,一般不需要关心吧。
------------------------------------------------------------------
3。SHORT PACKET和普通PACKET作用有什么区别呢
USB协议规定,不满MAX_PACKET_SIZE大小的包就是SHORT PACKET。表示数据传输结束。
所以一般在USB中传输的数据包为FULL,FULL,... ...SHORT PACKET。
如果要传得数据长度是MAX_PACKET_SIZE的倍数,那么最后需要传个0长度的空包。