cy8c4247lqi I2C interrupt and datasheet

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello,

I'm working on a CY8C4247, and this is the first time I use a Cypress microcontroller.

I'm trying to set up a I2C communication where my micro is the slave. I have found only examples where the interrupt aren't used (the code use polling).

I need to have the code as faster as possible, so I have enabled the interrupt, but as explained on your application note the callback is triggered every time one of the several I2C event happen.

I want to be able to understand which event triggered the interrupt, so I need to know more about the I2C registers.

I have tried to find a complete datasheet, but I have found only a brief datasheet (around 50 pages without register description).

Is it possible to find the information I need about the I2C somewhere ? Can someone send me the link for a complete datasheet and an example of code that use the I2C interrupt, if it exist ?

Thank you

Riccardo

0 Likes
1 Solution
4 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

You are here in the world of PSoCs which differs a bit from other micros. There is real hardware inside as the SCBs (Serial Control Block) from which the i2c interface is made of. Since the nature of I2C is transfering multiple bytes, all the handling is done internally. Polling is the usual way to be informed of a transfer completed. For I2C protocol there was never an interrupt defined, so there is none.

Bob

0 Likes
Anonymous
Not applicable

Hi,

thanks for your quick replay.

From the AN90799 page 3 : "The following events generate an interrupt: arbitration lost, slave address match,

start/stop detect, bus error, byte/word transfer complete, TX FIFO not full, TX/RX FIFO

empty, RX FIFO not empty, RX FIFO overrun, and RX FIFO full".

Can you help me to understand why an interrupt is associated at those event, if is it impossible to understand which one triggered

the interrupt ? I'm trying to understand the PSoCs world.

Thank you

Riccardo

0 Likes
Anonymous
Not applicable

Thank you !

0 Likes