From 2be5520593a003a8ef5f6c32dfcfa8da8afc8092 Mon Sep 17 00:00:00 2001 From: jarvis Date: Tue, 25 Mar 2025 10:22:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=B2=A1=E6=9C=89=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E4=BB=BB=E4=BD=95bug=E7=9A=84=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/FluxUI/ui_events.c | 36 +++++++++++++++++++++++++++++++--- components/FluxUart/FluxUart.c | 6 ++++-- components/FluxUart/FluxUart.h | 2 +- main/main.cpp | 3 +++ 4 files changed, 41 insertions(+), 6 deletions(-) diff --git a/components/FluxUI/ui_events.c b/components/FluxUI/ui_events.c index ae3d84a..033c788 100644 --- a/components/FluxUI/ui_events.c +++ b/components/FluxUI/ui_events.c @@ -180,12 +180,28 @@ void on_buttonStartTest_clicked(lv_event_t * e) /*下发积分时间*/ comulateTimeSend(); + /*使用0306报文格式*/ + uint8_t bytes[4]; + float time = (float)lv_spinbox_get_value(ui_pageFluxRead_spinboxTime); + memcpy(bytes, &time, 4); + + /*下发命令*/ + flux_frame.ADDR = FLUX_ADDR; + flux_frame.FUNC = FLUX_FUNC_SET_SINGLE; + + flux_frame.DATA[0] = 0x00; + flux_frame.DATA[1] = 0x02; + flux_frame.DATA[2] = bytes[3]; + flux_frame.DATA[3] = bytes[2]; + + ESP_ERROR_CHECK(ModbusRTU_Send_0306(ECHO_UART_PORT_NUM1,&flux_frame)); + timeS = lv_spinbox_get_value(ui_pageFluxRead_spinboxTime); /*下发启动测试指令*/ FLUX_TEST_START; - #if 0 + #if 1 lv_label_set_text(ui_pageHome_labelStartTest,"Testing..."); vTaskDelay(timeS*1000/portTICK_PERIOD_MS); @@ -372,8 +388,22 @@ void on_spinboxTime_valueChanged(lv_event_t * e) ESP_ERROR_CHECK(ModbusRTU_Send_0x10(ECHO_UART_PORT_NUM1,&flux_frame2Reg)); #elif 1 - /*根据当前频率进行时间调节*/ - comulateTimeSend(); + /*使用0306报文格式*/ + uint8_t bytes[4]; + float time = (float)lv_spinbox_get_value(ui_pageFluxRead_spinboxTime); + memcpy(bytes, &time, 4); + + /*下发命令*/ + flux_frame.ADDR = FLUX_ADDR; + flux_frame.FUNC = FLUX_FUNC_SET_SINGLE; + + flux_frame.DATA[0] = 0x00; + flux_frame.DATA[1] = 0x02; + flux_frame.DATA[2] = bytes[3]; + flux_frame.DATA[3] = bytes[2]; + + ESP_ERROR_CHECK(ModbusRTU_Send_0306(ECHO_UART_PORT_NUM1,&flux_frame)); + #endif } diff --git a/components/FluxUart/FluxUart.c b/components/FluxUart/FluxUart.c index 3e2ec7b..5290167 100644 --- a/components/FluxUart/FluxUart.c +++ b/components/FluxUart/FluxUart.c @@ -147,16 +147,17 @@ void uart1_echoTask(void* arg) { data[len] = '\0'; - ESP_LOGI(TAG, "Recv str: %s", (char *) data); + //ESP_LOGI(TAG, "Recv str: %s", (char *) data); for(int i=0;i