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.

CC2541: Getting Started -> Two channel (RX/TX) Uart Simulation Over I2C

Part Number: CC2541
Other Parts Discussed in Thread: STRIKE, CC2640R2F, CC2640

HI,

I'm about to begin on a final part of a long project which is to add BLE functionality to a device.

The core of the system is PIC based, and the BLE side of it is to be a simple value transfer. The CC2541 looks to be the simplest and most cost efficient, one of the older models which doesn't try to onload the entire system requirements into it's application space. That suits me fine as I'm keeping that on the PIC. As such as the CC2541 won't have any LED's, ADC, Timers or LCD.

Although I have the option to use UART I've swayed towards I2C to avoid baud issues. The set-up is:

PIC <> BLE <> APP

There will be two characteristics, RX and TX. The PIC will never initiate a request which I believe makes it best suited as a slave. The App writes the characteristic into RX, the CC2541 recognises something is there and fires it to the PIC, so the intention is the BLE will be master. It will then poll for the PIC to respond (or grant permission as I think it's said with I2C) and put the response into the TX characteristic. I could probably use the one characteristic but I'll think about that later on.

Right now I have zero experience with the world in which this chip belongs. I've installed IAR and the SDK1.5.1.1 and have Software Guide rev I. I've had a look at the basic peripheral example and a few others but I can't see anything pertaining to I2C.

My questions are:

1. does anything in the above approach strike as being flawed?
2. which example if any contains I2C usage?
3. is there already a simple UART style example (basically something which mimics those standalone packages like HM-11)?
4. the guide references symbols such as HAL_LED, but the file it says should contain them, buildConfig.cfg, doesn't contain them?