Thanks to all
void EXTI0_1_IRQHandler(void)
{
/* USER CODE BEGIN EXTI0_1_IRQn 0 */
if (__HAL_GPIO_EXTI_GET_RISING_IT(GPIO_PIN_0 ) != 0x00u)
{
// LL_GPIO_ResetOutputPin(S2_GPIO_Port, S2_Pin);
S2_GPIO_Port->BRR= S2_Pin;
// delay_us(Delays[WAIT]);
// LL_GPIO_SetOutputPin(S1_GPIO_Port, S1_Pin); //HOLD
S1_GPIO_Port->BSRR=S1_Pin;
__HAL_GPIO_EXTI_CLEAR_RISING_IT(GPIO_PIN_0);
}
if (__HAL_GPIO_EXTI_GET_FALLING_IT(GPIO_PIN_0) != 0x00u)
{
__HAL_GPIO_EXTI_CLEAR_FALLING_IT(GPIO_PIN_0);
// HAL_GPIO_EXTI_Falling_Callback(GPIO_Pin);
// LL_GPIO_ResetOutputPin(S1_GPIO_Port, S1_Pin); //HOLD
S1_GPIO_Port->BRR=S1_Pin;
// LL_GPIO_ResetOutputPin(S2_GPIO_Port, S2_Pin);
S2_GPIO_Port->BRR=S2_Pin;
HAL_ADC_Start_IT(&hadc1);
}
/* USER CODE END EXTI0_1_IRQn 0 */
// HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
/* USER CODE BEGIN EXTI0_1_IRQn 1 */
/* USER CODE END EXTI0_1_IRQn 1 */
}
So
1- code written in the ISR
2- removed even LL calls, wrote the BRR
latency is now 760ns.
Thanks once again