Tx via UART maximum rate DA14580

2 posts / 0 new
Last post
Avouaill
Offline
Last seen:3 years 7 months ago
加入:2016-09-19 15:21
Tx via UART maximum rate DA14580

Hi,

I'm using a DA14580, and I'm trying to send a lot of data (around 12k bytes). The MCU is sending the samples via UART to the BLE at 115200bauds. The thing is that the BLE stop transmitting after a while and doesn't send everything.

If I put a for loop to wait a little bit between each transmission from the MCU to the BLE it's working but it's too slow.

So i wonder what's the maximum baudrate I can use for the UART to send continuously data without the for loop?
Or do I have to implement something else in the DA14580 code to make it work properly?

Thanks in advance

Device:
MT_dialog
Offline
Last seen:2 months 1 week ago
Staff
加入:2015-06-08 11:34
Hi Avouail,

Hi Avouail,

当580年所有periphera睡觉ls (UART, I2C, etc) are shutting down, and the 580 sleeps and awakes under the condition that it has messages in the kernel's queue to schedule, if you are using the UART while the device is awake and the device decides that it has to go to sleep the fact that you are using the UART isn't going to prevent it from going to sleep. So you can either disable sleep dynamically by using the arch_disable_sleep() or return KEEP_POWERED from the app_on_ble_powered or the app_on_system_powered in order to prevent the 580 from going to sleep. Also be aware that when falling to sleep and waking up since you are using the UART you need the XTAL16 to be stable, that means that in each wake up you will have to wait until your crystal is stable. Finally there is the DSPS reference application which emulates a serial port over BLE and you can check the data transfer achieved in the application note of the DSPS, you will be able to find the source code and the application note at the reference design section on the portal.

Thanks MT_dialog