Browse Source

数据包,添加包头包尾

master
zhaohe 1 year ago
parent
commit
77410e1853
  1. 36
      main.c

36
main.c

@ -228,14 +228,14 @@ static void db_disc_handler(ble_db_discovery_evt_t * p_evt)
* If @ref ECHOBACK_BLE_UART_DATA is set, the data is sent back to sender.
*/
static void ble_nus_chars_received_uart_print(uint8_t * p_data, uint16_t data_len,bool raw)
static void ble_nus_chars_received_uart_print(uint8_t * p_data, uint16_t data_len)
{
ret_code_t ret_val;
NRF_LOG_DEBUG("Receiving data.");
NRF_LOG_HEXDUMP_DEBUG(p_data, data_len);
// app_uart_put(0x5A);
// app_uart_put(data_len);
app_uart_put(0xA5);
app_uart_put(0x5A);
for (uint32_t i = 0; i < data_len; i++)
{
do
@ -248,28 +248,34 @@ static void ble_nus_chars_received_uart_print(uint8_t * p_data, uint16_t data_le
}
} while (ret_val == NRF_ERROR_BUSY);
}
if(!raw){
app_uart_put(0x5A);
app_uart_put(0xA5);
}
}
static void ble_nus_chars_received_uart_print_ch4(uint8_t * p_data, uint16_t data_len)
{
ret_code_t ret_val;
// if (p_data[data_len-1] == '\r')
// {
// while (app_uart_put('\n') == NRF_ERROR_BUSY);
// }
if (ECHOBACK_BLE_UART_DATA)
NRF_LOG_DEBUG("Receiving data.");
NRF_LOG_HEXDUMP_DEBUG(p_data, data_len);
app_uart_put(0xA4);
app_uart_put(0x4A);
for (uint32_t i = 0; i < data_len; i++)
{
// Send data back to the peripheral.
do
{
ret_val = ble_nus_c_string_send(&m_ble_nus_c, p_data, data_len);
ret_val = app_uart_put(p_data[i]);
if ((ret_val != NRF_SUCCESS) && (ret_val != NRF_ERROR_BUSY))
{
NRF_LOG_ERROR("Failed sending NUS message. Error 0x%x. ", ret_val);
NRF_LOG_ERROR("app_uart_put failed for index 0x%04x.", i);
APP_ERROR_CHECK(ret_val);
}
} while (ret_val == NRF_ERROR_BUSY);
}
app_uart_put(0x4A);
app_uart_put(0xA4);
}
@ -357,10 +363,10 @@ static void ble_nus_c_evt_handler(ble_nus_c_t * p_ble_nus_c, ble_nus_c_evt_t con
break;
case BLE_NUS_C_EVT_NUS_TX_EVT:
ble_nus_chars_received_uart_print(p_ble_nus_evt->p_data, p_ble_nus_evt->data_len,false);
ble_nus_chars_received_uart_print(p_ble_nus_evt->p_data, p_ble_nus_evt->data_len);
break;
case BLE_NUS_C_EVT_NUS_TX_EVT_2:
ble_nus_chars_received_uart_print(p_ble_nus_evt->p_data, p_ble_nus_evt->data_len,true);
ble_nus_chars_received_uart_print_ch4(p_ble_nus_evt->p_data, p_ble_nus_evt->data_len);
rxcnt+=p_ble_nus_evt->data_len;
// printf("data_len:%d %d\n",p_ble_nus_evt->data_len,rxcnt);
break;

Loading…
Cancel
Save