Hi Dariush,
can you measure the IRQ pin, if it is high when this condition occurs.
Reading the STM8 reference manual I suspect that our code should be changed to:
diff --git a/Firmware/nucleo/X-NUCLEO-NFC05A1/STM8/Project/stm8s_it.c b/Firmware/nucleo/X-NUCLEO-NFC05A1/STM8/Project/stm8s_it.c
index 2a87cda..ddb5575 100644
--- a/STM8/Project/stm8s_it.c
+++ b/STM8/Project/stm8s_it.c
@@ -129,7 +129,7 @@ INTERRUPT_HANDLER(EXTI_PORTA_IRQHandler, 3)
*/
@svlreg INTERRUPT_HANDLER(EXTI_PORTB_IRQHandler, 4)
{
- if( (GPIO_ReadInputData(GPIOB) & GPIO_PIN_5) )
+ while( (GPIO_ReadInputData(GPIOB) & GPIO_PIN_5) )^M
{
st25r3911Isr();
}
@@ -513,4 +513,4 @@ INTERRUPT_HANDLER(EEPROM_EEC_IRQHandler, 24)
*/
Please try and tell me the results of your investigation. Also I think it makes sense you start a new thread with a proper topic.
Regards, Ulysses