8 years, 2 months ago.

BLE and SPI peripherals (on ble nano)

I am working on a project on the BLE nano. I need to get the UART ble to work so I can send commands to the device via ble. I also have a screen (adafruit_sharp_mem) which works with SPI and also a sensor on I2C.

I got it all working when using a custom gatt service to send 2 bytes of data instead of UART on ble. But when using the UART service everytime I connect to the device, it crashes.

It works well when I do not implement the display (spi).

I read multiple posts on this and I think it has to do with SPI collisions. So I need to wait for the ble not to be busy before sending something over SPI.

Suggestions in the ble nano forum are to use ble_busy(), but I can't find that function in the ble_api anywhere.

What to do?

Is it possible to initialise a second SPI bus for example?

Or is the problem within the UART service? I just need to be able to send a string of say 20 characters to the device.

Question relating to:

Bluetooth Low Energy (a.k.a Bluetooth LE, BTLE, Bluetooth Smart)
Be the first to answer this question.