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.

I2C CC2640 problem! ( No Stop Bit )

Other Parts Discussed in Thread: CC2640

Hi,

It's a couple of days I'm struggling with an issue of the I2C bus of a custom CC2640 design. The design is super simple a CC2640 with 1 I2C slave attached.
I can't make the I2C work and after hooking up an oscilloscope it my conclusion is that the stop bit is not issued and the CC2640 hangs up waiting...
I'm running TITRTOS 2.18.03 and the test code for I2C is run as first thing in the main task:

Here is the code:

/* Register Application callback to trap asserts raised in the Stack */
RegisterAssertCback(AssertHandler);

PIN_init(BoardGpioInitTable);

//
I2C_Handle handle;
I2C_Params params;
I2C_Transaction i2cTrans;

// Configure I2C parameters.
I2C_Params_init(&params);
params.transferMode = I2C_MODE_BLOCKING;
params.bitRate = I2C_100kHz;

// Prepare data to send, send 0x00, 0x01, 0x02, ...0xFF, 0x00, 0x01...
txBuffer[0] = 0x05;

// Initialize master I2C transaction structure
i2cTrans.writeCount = 1;
i2cTrans.writeBuf = txBuffer;
i2cTrans.readCount = 1;
i2cTrans.readBuf = rxBuffer;
i2cTrans.slaveAddress = 0x18;
// Open I2C
handle = I2C_open(Board_I2C, &params);
I2C_transfer(handle, &i2cTrans);

And here the Oscilloscope screen shot.

The SCL doesn't go up and the stop bit is not detected ( I guess )

There could be something on the board - but it really doesn't look any issues are there - being extremely simple. But I can't imagine there is such an issue on the I2C driver - since for the rest of the world everything works - so I guess I'm doing something stupid...

Any help welcome :)


Massimo