Hi,
I am trying to detect i2c start event on TM4C1294 board with a falling edge triggered interrupt and bit banded clock pin named "SYSTEM_SCL".
ISR looks something like this,
void StartEventISR()
{
if(SYSTEM_SCL)
{
// DisableInterrupts(); // Disable all interrupts to sample GPIO for maximum precision
DEBUG_PIN = 1;
isStart = true; // Signals the start of transaction
LED1 ^= 1;
GPIO_PORTC_AHB_IM_R |= 0x10; // Enable rising edge interrupt on SCL line for data sampling
}
DEBUG_PIN = 0;
GPIO_PORTA_AHB_ICR_R |= 0x20; // Clear interrupt after serving ISR
}
While the start event is detected successfully but sometimes there are false interrupt triggers along with it, please look at the picture attached.
Any help would be appreciated.
Thanks,