Forum Discussion
Altera_Forum
Honored Contributor
20 years agoI don't know if you've got to the bottom of this, but it looks to me like the offending line of code is:
isr_data = *isr_reg_addr; This is accessing your peripheral through the data cache (assuming you have one). It therefore may or may not cause a real access, which may cause you to fail to clear the interrupt. To avoid this problem you should use one of the access macros defined in hal_io.h, e.g.: HAL_READ_UINT32.