From bb55eb1c0f72b5ddd5bce41b714862e978e8df1c Mon Sep 17 00:00:00 2001 From: zhaohe Date: Fri, 17 May 2024 20:29:53 +0800 Subject: [PATCH] update --- .settings/language.settings.xml | 4 ++-- Core/Src/usart.c | 6 +++--- dbdb_power_control_mini_board_protocol_v1.ioc | 8 ++++--- usrc/base/hardware.cpp | 31 +++++++++++++++++---------- usrc/base/hardware.hpp | 5 +++-- zsdk | 2 +- 6 files changed, 34 insertions(+), 22 deletions(-) diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index cc9548e..fbe7e0a 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/Core/Src/usart.c b/Core/Src/usart.c index e7b3bfc..ca70073 100644 --- a/Core/Src/usart.c +++ b/Core/Src/usart.c @@ -76,7 +76,7 @@ void MX_USART2_UART_Init(void) huart2.Instance = USART2; huart2.Init.BaudRate = 19200; huart2.Init.WordLength = UART_WORDLENGTH_8B; - huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.StopBits = UART_STOPBITS_2; huart2.Init.Parity = UART_PARITY_NONE; huart2.Init.Mode = UART_MODE_TX_RX; huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; @@ -103,9 +103,9 @@ void MX_USART3_UART_Init(void) /* USER CODE END USART3_Init 1 */ huart3.Instance = USART3; - huart3.Init.BaudRate = 9600; + huart3.Init.BaudRate = 19200; huart3.Init.WordLength = UART_WORDLENGTH_8B; - huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.StopBits = UART_STOPBITS_2; huart3.Init.Parity = UART_PARITY_NONE; huart3.Init.Mode = UART_MODE_TX_RX; huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; diff --git a/dbdb_power_control_mini_board_protocol_v1.ioc b/dbdb_power_control_mini_board_protocol_v1.ioc index f607c51..bf9f9cb 100644 --- a/dbdb_power_control_mini_board_protocol_v1.ioc +++ b/dbdb_power_control_mini_board_protocol_v1.ioc @@ -354,10 +354,12 @@ USART1.BaudRate=460800 USART1.IPParameters=VirtualMode,BaudRate USART1.VirtualMode=VM_ASYNC USART2.BaudRate=19200 -USART2.IPParameters=VirtualMode,BaudRate +USART2.IPParameters=VirtualMode,BaudRate,StopBits +USART2.StopBits=STOPBITS_2 USART2.VirtualMode=VM_ASYNC -USART3.BaudRate=9600 -USART3.IPParameters=VirtualMode,BaudRate +USART3.BaudRate=19200 +USART3.IPParameters=VirtualMode,BaudRate,StopBits +USART3.StopBits=STOPBITS_2 USART3.VirtualMode=VM_ASYNC VP_CRC_VS_CRC.Mode=CRC_Activate VP_CRC_VS_CRC.Signal=CRC_VS_CRC diff --git a/usrc/base/hardware.cpp b/usrc/base/hardware.cpp index a8f298d..6bdc14b 100644 --- a/usrc/base/hardware.cpp +++ b/usrc/base/hardware.cpp @@ -41,15 +41,18 @@ HPP272 m_H2o2Sensor_HPP272; // H2O2传感器 int32_t m_h2o2sensor_detectId = -1; #endif -static void onAdcCaptureThreadId(void const* argument) { +static void onAdcCaptureThreadId(void const* argument) { Hardware::ins().onAdcCaptureThread(); } +static void onH2O2CaptureThreadId(void const* argument) { Hardware::ins().onH2O2CaptureThread(); } + +void Hardware::onAdcCaptureThread() { while (1) { osDelay(30); m_Heater_electricCurrentAdc.updateAdcValToCache(); m_Heater_temperatureAdc.updateAdcValToCache(); + heater_read_temperature_data(); // 为了调试打印方便 } } - -static void onH2O2CaptureThreadId(void const* argument) { +void Hardware::onH2O2CaptureThread() { while (1) { osDelay(1000); @@ -77,16 +80,16 @@ void Hardware::init() { m_Heater_ctrlGpio.initAsOutput(PC6, kxs_gpio_nopull, true, false); m_Heater_safeCtrlGpio.initAsOutput(PC7, kxs_gpio_nopull, true, false); // m_Heater_electricCurrentAdc.initialize(&hadc1, ADC_CHANNEL_0); //暂时注释掉,板子少了一个ADC,该ADC用于H2O2浓度 - m_Heater_temperatureAdc.initialize(&hadc1, ADC_CHANNEL_1); // PA0 + m_Heater_temperatureAdc.initialize("HeaterTemp", &hadc1, ADC_CHANNEL_1); // PA1 osDelay(2000); // 等待传感器上电 #ifdef H2O2_SENSOR_TYPE_HMP110 - ZASSERT(huart2.Init.BaudRate == 19200); - ZASSERT(huart2.Init.StopBits == UART_STOPBITS_2); - m_H2o2Sensor_ModbusBlockHost.initialize(&huart2); - m_H2o2Sensor_H2O2Adc.initialize(&hadc1, ADC_CHANNEL_10); // + ZASSERT(huart3.Init.BaudRate == 19200); + ZASSERT(huart3.Init.StopBits == UART_STOPBITS_2); + m_H2o2Sensor_ModbusBlockHost.initialize(&huart3); + m_H2o2Sensor_H2O2Adc.initialize("H2O2", &hadc1, ADC_CHANNEL_0); // m_H2o2Sensor_HMP110.init(&m_H2o2Sensor_ModbusBlockHost); if (m_H2o2Sensor_HMP110.ping(1)) { @@ -167,7 +170,10 @@ int32_t Hardware::heater_read_temperature_data() { // float ppm = (ma - 4) / (20 - 4) * 2000; int32_t adcv = m_Heater_temperatureAdc.getCacheVal(); int32_t ma = (adcv / 4095.0 * 3.3 * 1000) / 150.0; - int32_t temp = (ma - 4) / (20 - 4) * (3000 - 0) + 0; + // int32_t temp = (ma - 4) / (20 - 4) * (3000 - 0) + 0; + int32_t temp = (ma - 4) / (20 - 4) * (2500 - 0) + 0; + + // ZLOGI(TAG, "tadcv: %d ma:%d temp %d", adcv, ma, temp); return temp; // C*10 } @@ -217,8 +223,9 @@ int32_t Hardware::h2o2_sensor_read_sub_ic_reg(int32_t add, uint16_t* val, size_t } int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) { #ifdef H2O2_SENSOR_TYPE_HMP110 - int32_t ecode = m_H2o2Sensor_HMP110.read_cache_errorcode(); - int32_t h2o2adcVal = m_H2o2Sensor_H2O2Adc.getCacheVal(); + int32_t ecode = m_H2o2Sensor_HMP110.read_cache_errorcode(); + int32_t h2o2adcVal = m_H2o2Sensor_H2O2Adc.getCacheVal(); + HMP110::hmp110_sensordata_t sensordata; m_H2o2Sensor_HMP110.read_cache_sensor_data(&sensordata); @@ -234,6 +241,8 @@ int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) { readdata->temp = sensordata.temp; readdata->saturation = 0; + // ZLOGI(TAG, "h2o2 adc:%d ma:%d ppm:%d", h2o2adcVal, h2o2ma, h2o2ppm); + ZLOGI(TAG, "ecode: %d ppm:%d, rh:%d, temp:%d, df_ptemp:%d, ah:%d, mr:%d, wbt:%d, eh:%d", // ecode, // h2o2ppm, // diff --git a/usrc/base/hardware.hpp b/usrc/base/hardware.hpp index 9152e15..26d0a61 100644 --- a/usrc/base/hardware.hpp +++ b/usrc/base/hardware.hpp @@ -12,7 +12,6 @@ #include "zsdk/zadc.hpp" #include "zsdk/zsdk.hpp" - namespace iflytop { class Hardware { public: @@ -36,6 +35,8 @@ class Hardware { int32_t h2o2_sensor_read_sub_ic_errorcode(); int32_t h2o2_sensor_read_sub_ic_reg(int32_t add, uint16_t* val, size_t len); int32_t h2o2_sensor_data(report_h2o2_data_t* readdata); -}; + void onAdcCaptureThread(); + void onH2O2CaptureThread(); +}; } // namespace iflytop diff --git a/zsdk b/zsdk index 2d0aea4..28781e5 160000 --- a/zsdk +++ b/zsdk @@ -1 +1 @@ -Subproject commit 2d0aea4bda82668626ba11d42658eb2f36f48119 +Subproject commit 28781e5b4d0910f77bade8f49d8c6925b74b2ecf