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. * 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; ret_code_t ret_val;
NRF_LOG_DEBUG("Receiving data."); NRF_LOG_DEBUG("Receiving data.");
NRF_LOG_HEXDUMP_DEBUG(p_data, data_len); 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++) for (uint32_t i = 0; i < data_len; i++)
{ {
do 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); } while (ret_val == NRF_ERROR_BUSY);
} }
if(!raw){
app_uart_put(0x5A); app_uart_put(0x5A);
app_uart_put(0xA5); 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 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)) 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); APP_ERROR_CHECK(ret_val);
} }
} while (ret_val == NRF_ERROR_BUSY); } 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; break;
case BLE_NUS_C_EVT_NUS_TX_EVT: 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; break;
case BLE_NUS_C_EVT_NUS_TX_EVT_2: 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; rxcnt+=p_ble_nus_evt->data_len;
// printf("data_len:%d %d\n",p_ble_nus_evt->data_len,rxcnt); // printf("data_len:%d %d\n",p_ble_nus_evt->data_len,rxcnt);
break; break;

Loading…
Cancel
Save