Browse Source

接收时间从2s变成100ms,数据处理放在了main中

master
zwsd 3 years ago
parent
commit
e043aed433
  1. 49
      main/gatts_demo.c

49
main/gatts_demo.c

@ -557,21 +557,23 @@ static void gatts_profile_a_event_handler(esp_gatts_cb_event_t event, esp_gatt_i
//profile_b_buffer_size-1 //profile_b_buffer_size-1
#define profile_b_buffer_size 100 #define profile_b_buffer_size 100
char gatts_profile_b_write_buffer[profile_b_buffer_size] = {0};
uint8_t gatts_profile_b_write_buffer_len = 0;
char bluetooth_rx_buffer[profile_b_buffer_size] = {0};
uint8_t bluetooth_rx_buffer_len = 0;
bool bluetooth_rx_off = false; bool bluetooth_rx_off = false;
bool flag = true; bool flag = true;
uint32_t total = 0; uint32_t total = 0;
#define timer_interval_num 2
#define timer_interval_num 100
#define timer_interval_s (uint32_t)1000000 #define timer_interval_s (uint32_t)1000000
#define timer_interval_ms (uint32_t)1000 #define timer_interval_ms (uint32_t)1000
#define timer_interval_us (uint32_t)1 #define timer_interval_us (uint32_t)1
void bluetooth_gatts_try_process_data();
void buffer_all_init() void buffer_all_init()
{ {
gatts_profile_b_write_buffer_len = 0;
memset(gatts_profile_b_write_buffer, 0, profile_b_buffer_size);
bluetooth_rx_buffer_len = 0;
memset(bluetooth_rx_buffer, 0, profile_b_buffer_size);
} }
void timer_set_pause_and_counter_zero(int group, int timer) void timer_set_pause_and_counter_zero(int group, int timer)
@ -612,26 +614,10 @@ static void gatts_profile_b_event_handler(esp_gatts_cb_event_t event, esp_gatt_i
} }
case ESP_GATTS_WRITE_EVT: case ESP_GATTS_WRITE_EVT:
{ {
// if ((gatts_profile_b_write_buffer_len+param->write.len > profile_b_buffer_size))
// {
// }
if (bluetooth_rx_off == false) if (bluetooth_rx_off == false)
{ {
timer_set_pause_and_counter_zero(TIMER_GROUP_0, TIMER_0); timer_set_pause_and_counter_zero(TIMER_GROUP_0, TIMER_0);
timer_start(TIMER_GROUP_0, TIMER_0); timer_start(TIMER_GROUP_0, TIMER_0);
}
else
{
ESP_LOGI("!!!", "%s", &gatts_profile_b_write_buffer[0]);
bluetooth_rx_off = false;
timer_set_pause_and_counter_zero(TIMER_GROUP_0, TIMER_0);
buffer_all_init();
example_write_event_env(gatts_if, &b_prepare_write_env, param);
break;
}
ESP_LOGI(GATTS_TAG, "GATT_WRITE_EVT, conn_id %d, trans_id %d, handle %d\n", param->write.conn_id, param->write.trans_id, param->write.handle); ESP_LOGI(GATTS_TAG, "GATT_WRITE_EVT, conn_id %d, trans_id %d, handle %d\n", param->write.conn_id, param->write.trans_id, param->write.handle);
if (!param->write.is_prep) if (!param->write.is_prep)
@ -641,12 +627,16 @@ static void gatts_profile_b_event_handler(esp_gatts_cb_event_t event, esp_gatt_i
for (int i = 0; i < param->write.len; i++) for (int i = 0; i < param->write.len; i++)
{ {
gatts_profile_b_write_buffer[gatts_profile_b_write_buffer_len++] = param->write.value[i];
bluetooth_rx_buffer[bluetooth_rx_buffer_len++] = param->write.value[i];
} }
} }
example_write_event_env(gatts_if, &b_prepare_write_env, param); example_write_event_env(gatts_if, &b_prepare_write_env, param);
break; break;
} }
example_write_event_env(gatts_if, &b_prepare_write_env, param);
break;
}
case ESP_GATTS_EXEC_WRITE_EVT: case ESP_GATTS_EXEC_WRITE_EVT:
// ESP_LOGI(GATTS_TAG,"ESP_GATTS_EXEC_WRITE_EVT"); // ESP_LOGI(GATTS_TAG,"ESP_GATTS_EXEC_WRITE_EVT");
// esp_ble_gatts_send_response(gatts_if, param->write.conn_id, param->write.trans_id, ESP_GATT_OK, NULL); // esp_ble_gatts_send_response(gatts_if, param->write.conn_id, param->write.trans_id, ESP_GATT_OK, NULL);
@ -814,7 +804,7 @@ void app_main(void)
{ {
esp_err_t ret; esp_err_t ret;
timer_group_init(TIMER_GROUP_0, TIMER_0, true, timer_interval_num, timer_interval_s);
timer_group_init(TIMER_GROUP_0, TIMER_0, true, timer_interval_num, timer_interval_ms);
// Initialize NVS. // Initialize NVS.
ret = nvs_flash_init(); ret = nvs_flash_init();
@ -901,7 +891,20 @@ void app_main(void)
void bluetooth_gatts_try_process_data() void bluetooth_gatts_try_process_data()
{ {
//
if (bluetooth_rx_off) if (bluetooth_rx_off)
{ {
//
timer_set_pause_and_counter_zero(TIMER_GROUP_0, TIMER_0);
//
ESP_LOGI(GATTS_TAG, "%s", &bluetooth_rx_buffer[0]);
//
//
//
bluetooth_rx_off = false;
//buffer置0
buffer_all_init();
} }
} }
Loading…
Cancel
Save