From 77410e1853a1ce9e160bddf514e3fb0eadc8a4e5 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Fri, 9 Feb 2024 11:07:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8C=85=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8C=85=E5=A4=B4=E5=8C=85=E5=B0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/main.c b/main.c index 5373b9e..abc5753 100644 --- a/main.c +++ b/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;