how to do simple data transfer using bluetooth serail terminal?
how to do simple data transfer using bluetooth serail terminal?
Hello,
You could use the BLE NUS peripheral and central examples to do such a transfer between your devices.
The examples will relay anything they receive over UART to their connected peer over BLE, and the peer will output the messages received over BLE out on its UART, and visa versa.
Test this according to the example documentation, and let me know if you encounter any issues or questions.
Best regards,
Karl
i go through the nsu code but which api was used to transfer the data?
i go through the nsu code but which api was used to transfer the data?
The data is queued for transfer over the NUS service through the call to ble_nus_data_send function.
Best regards,
Karl
ble_nus_data_send is this function depends on the service?
which function was used to receive the data?
if i disable the uart and try to print on display it was not working?
static void nus_data_handler(ble_nus_evt_t * p_evt)
{
if (p_evt->type == BLE_NUS_EVT_RX_DATA)
{
uint32_t err_code;
NRF_LOG_DEBUG("Received data from BLE NUS. Writing data on UART.");
NRF_LOG_HEXDUMP_DEBUG(p_evt->params.rx_data.p_data, p_evt->params.rx_data.length);
for (uint32_t i = 0; i < p_evt->params.rx_data.length; i++)
{
Paint_DrawString_EN(105, 20, p_evt->params.rx_data.p_data[i]+'0', &Font12,BLACK,WHITE);
/*err_code = app_uart_put(p_evt->params.rx_data.p_data[i]);
if ((err_code != NRF_SUCCESS) && (err_code != NRF_ERROR_BUSY))
{
NRF_LOG_ERROR("Failed receiving NUS message. Error 0x%x. ", err_code);
APP_ERROR_CHECK(err_code);
}*/
}
/*
if (p_evt->params.rx_data.p_data[p_evt->params.rx_data.length - 1] == '\r')
{
// while (app_uart_put('\n') == NRF_ERROR_BUSY);
//while (Paint_DrawChar(105,20,'\n',BLACK,WHITE) == NRF_ERROR_BUSY);
}*/
}
instead of sending data to uart i try to display on oled display but not displayed on the oled