This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Hercules TMS570LS1217 RXRDY Interrupt on I2C as slave doesn´t work

Other Parts Discussed in Thread: HALCOGEN

Hello,  

my problem is that I use the I2C bus and I have an TMS570LS1217  as Slave in the bus, I want use a interrupt  (RXRDY), I use HALCoGen and configuration is as show in the image below

I have connected the pull-up resistors, etc,   the only interrupt that works is when Address-as-slave is activated, but its problematic because this option interrupts two times, because I need response with data too, and my program stucks in that way 

Anyone has experienced this problem before??, thank you in advance

  • Emilio,

    The I2C pins are multiplexed with other function. Out of reset, I2C is not directly accessible.
    It is necessary to configure the pin muxing module to make I2C pins exposed.

    This is done in Halcogen PINMUX tab.
    On Pin3 (Default as MIBSPI3NCS_3) you have to select I2C_SCL
    On Pin4 (Default as MIBSPI3NCS_2) you have to select I2C_SDA

    I've attached a basic test code configuring the device as I2C Slave with an address = 0x08, Speed of 100Kbits to match your requirement.

    Please have a look and let me know if this is helpful.

    7484.TMS570LS1224_I2C_Slave.zip

  • Hi Jean, thank you for the example 

    I don't attach a photo of that but yes I use the multiplexor how you say, and all works fine but the interrupt doesn't jumps to the function 

    void i2cNotification(i2cBASE_t *i2c, uint32 flags) ;    in the notification.c file  or , do I was misunderstanding how the interrupt works?  

    greetings and thak you in advance

  • Emilio,

    Can you share your project?
    The example I've sent to you is working and interrupt are fired.
    Did you compare my code with yours?

    There is very little I can do without debugging your code.