Цитата(ataradov @ Feb 26 2018, 13:09)

Зачем оно так сделано по-умолчанию - хрен знает.
хреново. конкретно в STM32F303VC USB сидит на PA11, PA12 и нет ремапа. а даже еслиб был я не могу поменять пины.
что то я не понимаю
Цитата
Bit 5 USB_IT_RMP: USB interrupt remap (STM32F303xB/C/D/E devices only)
This bit is set and cleared by software. It controls the USB interrupts mapping.
0: USB_HP, USB_LP and USB_WAKEUP interrupts are mapped on interrupt lines 19, 20
and 42 respectively.
1: USB_HP, USB_LP and USB_WAKEUP interrupts are mapped on interrupt lines 74, 75
and 76 respectively
в даташит
74-VSS
75-VDD
а. по моему понял. это не пины. это индексы в interrupt table. то есть я могу переремапить интерапты и спать спокойно?
так можно сделать?
Код
void USB_Interrupts_Config(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
//remap interrupt
SYSCFG->CFGR1 |= SYSCFG_CFGR1_USB_IT_RMP;
/* 2 bit for pre-emption priority, 2 bits for subpriority */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
/* Enable the USB interrupt */
NVIC_InitStructure.NVIC_IRQChannel = USB_LP_IRQn; //USB_LP_CAN1_RX0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
/* Enable the USB Wake-up interrupt */
NVIC_InitStructure.NVIC_IRQChannel = USBWakeUp_RMP_IRQn; //USBWakeUp_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_Init(&NVIC_InitStructure);
}