Hi All,
The Halcogen code for Interrupts on GIOA&B does not work
void gioHighLevelInterrupt(void)
{
uint32 offset;
/* USER CODE BEGIN (14) */
/* USER CODE END */
if (gioREG->OFF1 != 0U)
{
offset = gioREG->OFF1 - 1U;
if (offset >= 8U)
{
gioNotification(gioPORTB, offset - 8U);
}
else
{
gioNotification(gioPORTA, offset);
}
}
/* USER CODE BEGIN (15) */
/* USER CODE END */
}
As stated in the TRM reading gioREG->OFF1 clears the register. So, regardless of the pin or if it is GIOA or GIOB, offset always equals 0xFFFFFFF7.
Cheers,
Alan