任何有ColdFire系列编程经验的人,请帮忙!
我正在使用带有ColdFire MCF52259的CMX USB-Lite堆栈。出于某种原因,只要启用DP上拉电阻,USB枚举就会在第一步失败。这就是我正在做的事情: -
INT_ENB,OTG_INT_EN,ERR_ENB设置为0x0
INT_STAT,OTG_INT_STAT和ERR_STAT设置为0xff(这应该清除所有中断)
在中断状态寄存器中,位0(全部掩码)和53为0,其他为1。
TOK_DNE,INT_ENB中启用了USB_RST和STALL中断。
设置了BDT基地址。
MCF_USB_CTL保持0x1
问题: 在主机发出第一次重置之后(此时我启用了控制端点0),而不是预期的Get Descriptor请求,我得到了无休止的一系列重置。至少,这就是它的样子,因为TOK_DNE中断永远不会触发。
我有什么问题吗?
答案 0 :(得分:1)
您需要将OWN位设置为1.如果您还没有这样做,则SIE永远不会控制BD,主机会继续重置设备。将OWN位设置为1,具体取决于您为控制端点设置BD的位置。