ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
3 июля
824236 Топик полностью
Dingo (16.03.2018 10:40 - 10:45, просмотров: 93) ответил AU08 на Прерывание должно срабатывать по фронту? Помехи есть, насколько длинная линия этого PD6?
По Falling edge. Сантиметров 5. Но это не обьясняет, почему оно вызвано с "0": в норме бы два раза с EXTI_Line6 в обработчик попали. Или я что-то неверно понимаю? Инициализация внутри. void EXTI6_IRQ_Init(void) { EXTI_InitTypeDef EXTI_InitStructure; /* Enable SYSCFG clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); EXTI_DeInit(); /* Connect EXTI Line6 to PD6 pin */ SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOD, EXTI_PinSource6); /* Configure EXTI Line6 */ EXTI_InitStructure.EXTI_Line = EXTI_Line6; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); /* Enable and set EXTI6 Interrupt to the lowest priority */ NVIC_SetPriority(EXTI9_5_IRQn, 0x0); // 0 - high, 15 - low NVIC_EnableIRQ(EXTI9_5_IRQn); }