Closed vitkorob closed 8 years ago
@vitkorob Please check bug fix
Now code is good. Thank you! But I still have triggered assert_param.
USB_Result USB_DeviceDispatchEvent(void)
{
...
/* Get masked interrupt flags */
USB_IT = USB_GetSIS();
...
/* Clear pending bits, except for SCTDONE */
USB_SetSIS(USB_IT & (~USB_SIS_SCTDONE_Set));
...
}
I think this time it's hardware problem, because in the manual MDR_USB->SIS has 5 first significant bits, but it can return 6th bit.
I will write letter to technical support and I'll keep you informed.
@vitkorob, Ok.
The first message:
От кого: Отдел технической поддержки ЦП ИС АО ПКК Миландр support@milandr.ru Дата: 6 июля 2016 г., 12:42 Тема: Запрос N [
], Re: 1986BE92QI (aka MDR32F9Q2I) поведение MDR_USB->SIS регистра Кому: Victor Korobkovsky Здравствуйте Виктор Андреевич,
Бит 5 (считая с 0) в регистре MDR_USB->SIS устанавливается в 1 при включении блока USB. Его необходимо игнорировать. В следующую версию спецификации будут внесены соответствующие изменения.
С наилучшими пожеланиями, Отдел технической поддержки ЦП ИС АО «ПКК Миландр» E-mail: support@milandr.ru Skype: support.milandr Телефон: +7(495)221-13-55
The second message:
От кого: Отдел технической поддержки ЦП ИС АО ПКК Миландр support@milandr.ru Дата: 11 июля 2016 г., 10:52 Тема: Запрос N [
], Re: 1986BE92QI (aka MDR32F9Q2I) поведение MDR_USB->SIS регистра Кому: Victor Korobkovsky Здравствуйте Виктор Андреевич,
Бит 5 устанавливается в "1" при вклюении блока USB в тех микроконтроллерах, в которых есть такой же блок USB. Блок USB одинаковый в 1986ВЕ1Т, 1986ВЕ9х, 1901ВЦ1Т.
С наилучшими пожеланиями, Отдел технической поддержки ЦП ИС АО «ПКК Миландр» E-mail: support@milandr.ru Skype: support.milandr Телефон: +7(495)221-13-55
@vitkorob Please test.
От кого: Отдел технической поддержки ЦП ИС АО ПКК Миландр support@milandr.ru Дата: 12 июля 2016 г., 11:03 Тема: Запрос N [
], Re: 1986BE92QI (aka MDR32F9Q2I) поведение MDR_USB->SIS регистра Кому: Victor Korobkovsky Здравствуйте Виктор Андреевич,
Да, 1986ВЕ3 это тоже касается, там такой же USB блок.
С наилучшими пожеланиями, Отдел технической поддержки ЦП ИС АО «ПКК Миландр» E-mail: support@milandr.ru Skype: support.milandr Телефон: +7(495)221-13-55
When I do implementation of _assertfailed function and use
#define USE_ASSERT_INFO 2
, I observed that assert statement occurred in file _MDR32F9Qx_usbdevice.c line 740Function _USBSetSIS uses the _IS_USB_SISVALUE(...) macro with argument _USB_SISMsk. Need fix _IS_USB_SISVALUE macro.