STM32的USB模块能够发生三种中止:USB唤醒中止、USB高优先级中止和USB低优先级中止,在STM32的参考手册中没有具体阐明这三种中止对应哪些事情,现阐明如下:
1)USB唤醒中止:在中止向量表中的方位是42。这个中止在USB设备从暂停形式唤醒时发生,唤醒事情由USB_ISTR寄存器的WKUP位标识。
2)USB高优先级中止:在中止向量表中的方位是19。这个中止仅由USB同步(Isochronous)形式传输或双缓冲块(Bulk)传输形式下的正确传输事情发生,正确传输事情由USB_ISTR寄存器的CTR位标识。
3)USB低优先级中止:在中止向量表中的方位是20。这个中止由一切其它的USB事情发生,例如正确传输(不包括同步形式和双缓冲块形式)、USB复位等,事情标志位在USB_ISTR寄存器中。
在STM32的USB开发包的比如中包含了上述中止的处理,例如在USB扬声器的比如中,CTR_HP函数处理USB高优先级中止;在一切比如中都有USB_Istr()函数处理USB低优先级中止。