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