Slave I2C2 Event Interrupt Flag Status bit not reading on 24EP256GP202
I have been working on some polled I2C code (no interrupts) for a few PIC24 chips. I have working common code that runs on a few boards based on 24FJ256GA106 and 24FJ64GA002 PIC chips.
However, the same code, adjusted for the two GAEP256GP202-based boards I have do not work. I have been looking at the SFR registers in a debugger and never see the IFSx registers toggle any bits when I2C data comes in. (SI2C1IF, specifically).
The datasheet for this chip is different than the others, containing crowded tables for several PIC types, rather than broken-out pages for these registers. Using the info from there, I am using:
IFS1 bit 0 (SI2C1IF) for the incoming I2C data. I never see IFS1 or IFS3 (S12C2) change.
I assume there is some extra init step for this variation of PIC that I need, which the others do not.
Anyone familiar with this part?
Allen C. Huffman, Sub-Etha Software (est. 1990) www.subethasoftware.com
Embedded C, Arduino, ESP8266/32, BASIC Stamp and PIC programmer.