From: dxy <1731678236qq.com> Date: Tue, 16 Sep 2025 06:09:25 +0000 (+0800) Subject: 串口加RX事件 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=4e80339e01a5bd310453a692c86ba0fa9350e873;p=mirrors%2F7PIN_V1_5_Jl_SDK.git 串口加RX事件 --- diff --git a/2.code/1.sdk/apps/BK_app/BK_drive/bk_uart.c b/2.code/1.sdk/apps/BK_app/BK_drive/bk_uart.c index 3355751..aa42aab 100644 --- a/2.code/1.sdk/apps/BK_app/BK_drive/bk_uart.c +++ b/2.code/1.sdk/apps/BK_app/BK_drive/bk_uart.c @@ -459,7 +459,7 @@ void bk_uart_init() struct uart_dma_config dma = { .rx_timeout_thresh = 500, .frame_size = 512, - .event_mask = UART_EVENT_RX_TIMEOUT, + .event_mask = UART_EVENT_RX_DATA|UART_EVENT_RX_TIMEOUT, .tx_wait_mutex = 0, .irq_priority = 6, .irq_callback = uart_irq_func, @@ -1310,6 +1310,7 @@ int parse_uart_data(char *json_string) if (cJSON_IsString(switch_bt_state) && (switch_bt_state->valuestring != NULL)) { if (strcmp(switch_bt_state->valuestring, "1") == 0) { get_bt_switch=1; + ack_flag=1; // if (is_bredr_close() == 1) { // printf("3 is_bredr_close: %d\n", is_bredr_close()); // bt_init_bredr(); @@ -1320,7 +1321,7 @@ int parse_uart_data(char *json_string) }else if (strcmp(switch_bt_state->valuestring, "0") == 0) { get_bt_switch=1; - + ack_flag=1; // disconected_device(); // if (!is_bredr_close()) { @@ -1346,6 +1347,7 @@ int parse_uart_data(char *json_string) printf("蓝牙广播状态: %s\n", switch_bt_state->valuestring); if (strcmp(switch_bt_state->valuestring, "1") == 0) { get_ble_switch=1; + ack_flag=1; switch_ble_state=1; bk_app_send_smg(SWITCH_BLE_STATE,(char *)&switch_ble_state,1); // set_adv_flag_fun(1) ;//开始蓝牙广播 @@ -1353,6 +1355,7 @@ int parse_uart_data(char *json_string) }else if (strcmp(switch_bt_state->valuestring, "0") == 0) { get_ble_switch = 1; + ack_flag=1; switch_ble_state=0; bk_app_send_smg(SWITCH_BLE_STATE,(char *)&switch_ble_state,1); // set_adv_flag_fun(0); //关闭蓝牙广播 @@ -1361,7 +1364,7 @@ int parse_uart_data(char *json_string) } } } - if(!strcmp(event->valuestring,"bt_scan")) + if(!strcmp(event->valuestring,"bt_scan")) //蓝牙耳机扫描 需要回ack { // "event":"bt_scan", // "data":"0/1" 0开始扫描 1停止扫描 @@ -1385,7 +1388,7 @@ int parse_uart_data(char *json_string) } } } - if(!strcmp(event->valuestring,"connect_bt")) { + if(!strcmp(event->valuestring,"connect_bt")) { //连接蓝牙耳机 需要回ack // json_data = \ // { // "event": "connect_bt", @@ -1403,7 +1406,7 @@ int parse_uart_data(char *json_string) ack_flag=1; } } - if(!strcmp(event->valuestring,"imei")) { + if(!strcmp(event->valuestring,"imei")) { //接收imei号 // json_data = \ // { // "event": "connect_bt", @@ -1413,12 +1416,13 @@ int parse_uart_data(char *json_string) if (cJSON_IsString(data) && (data->valuestring != NULL)) { printf("imei: %s\n", data->valuestring); get_cat1_imei_state=1; + ack_flag=1; bk_app_send_smg(BT_GET_IMEI,data->valuestring,strlen(data->valuestring)); // set_adv_imei(data->valuestring);//设置广播imei号 } } - if(!strcmp(event->valuestring,"disconnect_bt")) { + if(!strcmp(event->valuestring,"disconnect_bt")) { //断开蓝牙耳机连接 // json_data = \ // { // "event": "disconnect_bt", @@ -1435,17 +1439,16 @@ int parse_uart_data(char *json_string) } - if(!strcmp(event->valuestring,"get_connect_bt_state")) { - printf("获取当前连接蓝牙耳机的状态"); + if(!strcmp(event->valuestring,"get_connect_bt_state")) { //获取蓝牙耳机连接状态 + printf("获取当前连接蓝牙耳机的状态 获取完之后"); send_bt_connect_state(); } - if(!strcmp(event->valuestring,"get_versions")) { + if(!strcmp(event->valuestring,"get_versions")) { //获取蓝牙版本号 printf("获取当前版本"); uart_send_versions(); } if(!strcmp(event->valuestring,"clear_earphone_record")) { printf("清楚所有的蓝牙耳机连接记录"); - clear_earphone_record(); } if(!strcmp(event->valuestring,"adjust_volume")) { @@ -1459,8 +1462,9 @@ int parse_uart_data(char *json_string) if(volume_tmp <= 0){ volume_tmp=1; } - ack_flag=1; + bk_app_send_smg(BT_ADJUST_VOLUME,(char*)&volume_tmp,1);// + ack_flag=1; // app_audio_volume_set(volume_tmp); }