Example 1: (PA0 gpio input, pull down) The Exti runs as long as triggering thorough PA0 pin.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
int indeks1=0; void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if(indeks1){ if(GPIO_Pin == GPIO_PIN_6) { HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13, GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_RESET); } if(GPIO_Pin == GPIO_PIN_8) { HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_SET); } } } while (1) { indeks1 = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0); } |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
int indeks2=0; void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if(GPIO_Pin == GPIO_PIN_9) indeks2++; if(indeks2 == 2)indeks2 = 0; if(indeks2 == 1){ if(GPIO_Pin == GPIO_PIN_6) { HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13, GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_RESET); } if(GPIO_Pin == GPIO_PIN_8) { HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_SET); } } } while (1) { } |