Коллеги, помогите разобраться с прерываниями USB .
1) Когда включено только прерывание USB_LP_IRQHandler и все прерывания обрабатываются только в нём, проблем нет.
2) Пытаюсь настроить прерывание USB_HP_IRQHandler и обрабатывать в нём флаг успешной транзакции USB_ISTR_CTR , т.к. оно только для этого и нужно.
Обнаруживаю, что :
- Программа с флагом USB_ISTR_CTR попадает то в HP , то в LP , хотя в HP все флаги USB->ISTR сбрасываются и флаги в регистрах конечных точек USB_EPNR_CTR_RX USB_EPNR_CTR_TX то же сбрасываются. По идее программа в LP попадать не должна, т.к. HP происходит раньше.
- При снятом бите USB_CNTR_CTRM т.е. отключенном прерывании программа всё равно попадает в прерывание с флагом USB_ISTR_CTR , что совсем сбивает с толку.
Чего я не понимаю ?
Заранее спасибо !