首页 文章

ColdFire MCF52259中的USB枚举失败

提问于
浏览
2

任何有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 .

在INT_ENB中启用TOK_DNE,USB_RST和STALL中断 .

设置BDT基地址 .

MCF_USB_CTL保持0x1

问题:在主机发出第一次重置之后(此时我启用了控制 endpoints 0),而不是预期的Get Descriptor请求,我得到了无休止的一系列重置 . 至少,这就是它的样子,因为TOK_DNE中断永远不会触发 .

有什么我做错了吗?

1 回答

  • 1

    您需要将OWN位设置为1.如果您还没有这样做,则SIE永远不会控制BD,主机会继续重置设备 . 将OWN位设置为1,具体取决于您为控制 endpoints 设置BD的位置 .

相关问题