OTG_FS_GINTSTS: 0x44,0x00,0x00,0x20
Device Mode
NPTXFE
PTXFE
SRQINT//主机接入
OTG_FS_GINTSTS: 0x04,0x00,0x08,0x20
Device Mode
NPTXFE
USBSUSP
PTXFE//挂起
OTG_FS_GINTSTS: 0x04,0x00,0x10,0x20
Device Mode
NPTXFE
USBRST
PTXFE//复位
OTG_FS_GINTSTS: 0x04,0x00,0x80,0x38
Device Mode
SOF
RXFLVL
NPTXFE
EOPF
PTXFE
OTG_FS_GRXSTSP: 0x01,0x0C,0x00,0x80
0x01,0x00,0x06,0x80
0x00,0x40,0x00,0x00//收到SETUP数据包,当把SETUP数据包从FIFO读出后,控制器将一个WORD数据写入RXFIFO(非空)
OTG_FS_GINTSTS: 0x04,0x00,0x80,0x38
Device Mode
SOF
RXFLVL
NPTXFE
EOPF
PTXFE
OTG_FS_GRXSTSP: 0x01,0x28,0x00,0x00//SETUP阶段完成(数据包长度为0)
OTG_FS_GINTSTS: 0x04,0x08,0x80,0x38
Device Mode
SOF
RXFLVL
NPTXFE
EOPF
OEPINT
--OUT0
----STUP
PTXFE
OTG_FS_GRXSTSP: 0x00,0x6C,0x00,0x80
0x00,0x6C,0x00,0x80
0x00,0x6C,0x00,0x80//读出FIFO(SETUP阶段完成),产生OUT中断。数据包已全部读出,为什么RXFLVL
还没有被清除?
OTG_FS_GINTSTS: 0x04,0x00,0x80,0x38
Device Mode
SOF
RXFLVL
NPTXFE
EOPF
PTXFE
OTG_FS_GRXSTSP: 0x00,0x6C,0x00,0x80
0x00,0x6C,0x00,0x80
0x00,0x6C,0x00,0x80//RXFLVL没有清除
OTG_FS_GINTSTS: 0x04,0x00,0x80,0x38
Device Mode
SOF
RXFLVL
NPTXFE
EOPF
PTXFE
OTG_FS_GRXSTSP: 0x00,0x6C,0x00,0x80
0x00,0x6C,0x00,0x80
0x00,0x6C,0x00,0x80//RXFLVL没有清除
硬件如何清除RXFLVL? |
|