Size: a a a

2021 May 26

АС

Алексей Сугоняев... in STM32
значит  на некоторых моделях мультиплексор общий для группы пинов, в данном случае с 10 по 15 ногу. Верно?!
источник

IK

Igor Kr. in STM32
да, у 205го общее прерывание с 10 по 15
источник

АС

Алексей Сугоняев... in STM32
Значит нет отдельного обработчика для PC14 и PC15, для ног PC10...PC15 обработчик один. И исполнение будет попадать в него, при изменении уровня или по фронту на любом из этих пинов.
источник

АС

Алексей Сугоняев... in STM32
Да но StD пишет что PC15 и PC14 имеют собственные обработчики. Не очень понятно как это получилось.
источник

s

stD in STM32
Но я же проверяю какой именно пин сработал.
источник

s

stD in STM32
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
 HAL_NVIC_DisableIRQ(EXTI15_10_IRQn);

 #if LEPESTOK
 if(GPIO_Pin == IN_Lepestok_Right_Pin)
 {
   flag_lepestok = 1;
   count_lepestok = 0;
 }
 #endif

}
источник

s

stD in STM32
И срабатывает именно условие...

if(GPIO_Pin == IN_Lepestok_Right_Pin)
источник

IK

Igor Kr. in STM32
Посмотреть состояние EXTI_IMR и EXTI_EMR для 15й ноги во время прерывания?
источник

АС

Алексей Сугоняев... in STM32
А можно посмотреть как  шлется CallBack и откуда он берет GPIO_Pin
источник

s

stD in STM32
Это обработчик прерывания.
источник

s

stD in STM32
Вызывает эту функцию...
источник

s

stD in STM32
источник

s

stD in STM32
Тут макрос проверки пина...

#define HAL_GPIO_EXTI_GET_IT(__EXTI_LINE) (EXTI->PR & (EXTI_LINE))
источник

s

stD in STM32
Очистка...

#define HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE) (EXTI->PR = (EXTI_LINE))
источник

s

stD in STM32
И вызов колбека...

HAL_GPIO_EXTI_Callback(GPIO_Pin);
источник

АС

Алексей Сугоняев... in STM32
Так GPIO_PIN_15 - это константа?
источник

s

stD in STM32
#define GPIO_PIN_15                ((uint16_t)0x8000)
источник

s

stD in STM32
источник

АС

Алексей Сугоняев... in STM32
Если я правильно понимаю то прерывание от PC10...PC15 посылает в CallBack только одну единственную константу GPIO_PIN_15?
источник

АС

Алексей Сугоняев... in STM32
Вы ее ловите в калбеке в независимости от того какой пин придавили к земле
источник