Browse Source

主动上报

master
zwsd 3 years ago
parent
commit
dddfeb4c63
  1. 5
      .vscode/settings.json
  2. 32
      main/ble_spp_server_demo.c
  3. 2
      main/ble_spp_server_demo.h
  4. 3
      main/main.c

5
.vscode/settings.json

@ -35,6 +35,9 @@
"esp_intr_alloc.h": "c", "esp_intr_alloc.h": "c",
"motor_drive.h": "c", "motor_drive.h": "c",
"stdint.h": "c", "stdint.h": "c",
"freertos.h": "c"
"freertos.h": "c",
"bitset": "c",
"chrono": "c",
"algorithm": "c"
}, },
} }

32
main/ble_spp_server_demo.c

@ -709,4 +709,36 @@ void bleuart_schedule() {
s_module->has_rx_size = 0; s_module->has_rx_size = 0;
s_module->receive_data_processing_flag = false; s_module->receive_data_processing_flag = false;
} }
}
/**
* @brief
*
* @param buffer
* @param buffer_size
*/
void bleuart_notify_send(uint8_t *buffer, uint8_t buffer_size) {
uint8_t send_times = buffer_size / 15; //
uint8_t send_buffer_remainder = buffer_size % 15;
uint8_t buffer_temp[16] = {0};
uint8_t send_buffer_size = 0;
uint8_t i = 0;
uint8_t j = 0;
if (table_handle_m != 0) {
for (i = 0; i < send_times; i++) {
for (j = 0; j < 15; j++) {
buffer_temp[j] = buffer[send_buffer_size++];
}
esp_ble_gatts_send_indicate(table_gatts_if_m, table_conn_id_m, table_handle_m, 15, buffer_temp, false);
}
if (send_buffer_remainder > 0) {
for (j = 0; j < send_buffer_remainder; j++) {
buffer_temp[j] = buffer[send_buffer_size++];
}
buffer_temp[send_buffer_remainder] = 0;
esp_ble_gatts_send_indicate(table_gatts_if_m, table_conn_id_m, table_handle_m, send_buffer_remainder, buffer_temp, false);
}
}
} }

2
main/ble_spp_server_demo.h

@ -89,3 +89,5 @@ void bleuart_send_packet(uint8_t *tx, size_t txsize);
* @brief * @brief
*/ */
void bleuart_schedule(); void bleuart_schedule();
void bleuart_notify_send(uint8_t *buffer, uint8_t buffer_size);

3
main/main.c

@ -93,8 +93,11 @@ void app_main(void) {
motor_init(&ble_uart_motor_structer); motor_init(&ble_uart_motor_structer);
motor_reg_event_cb(motor_on_event); motor_reg_event_cb(motor_on_event);
uint8_t test[] = {"peiluoxisibahhh,finny noob !lol"};
while (true) { while (true) {
bleuart_schedule(); bleuart_schedule();
// motor_module_schedule(); // motor_module_schedule();
bleuart_notify_send(test,sizeof(test));
} }
} }
Loading…
Cancel
Save