This commit is contained in:
2026-01-30 17:04:39 +08:00
parent b94a28aacf
commit ef112855bf
30 changed files with 2786 additions and 4505 deletions

View File

@@ -3,7 +3,7 @@
#include "stdio.h"
#include "app.h"
#include "os_timer.h"
#include "app_timer.h"
#include "bsp_Uart.h"
#include "bsp_74HC4067.h"
@@ -36,7 +36,7 @@ static void proto_tdlas_rx_task(u8 *p_data,u16 len,void *other_data);
static void proto_tdlas_control_fac_calib_data_get(u8 ch);
/*<2A><><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>*/
static bsp_Uart_t *rx_uart = NULL;
static bsp_uart_t *rx_uart = NULL;
proto_tdlas_t tdlas=
{
@@ -56,16 +56,16 @@ proto_tdlas_t tdlas=
};
proto_tdlas_t *p_sensor = &tdlas;
bsp_Uart_t *p_use_uart = &COM_Uart4;
bsp_uart_t *p_use_uart = &com_uart4;
static void proto_tdlas_init(void)
{
COM_Uart4.Rx_DataAnalysis = p_sensor->rx_task;
com_uart4.rx_data_analysis = p_sensor->rx_task;
}
static void proto_tdlas_send(u8 *p_data,u16 len)
{
COM_Uart4.Send(&COM_Uart4,p_data,len);
com_uart4.send(&com_uart4,p_data,len);
}
static void proto_sensor_switch(u8 ch)
@@ -324,7 +324,7 @@ static void proto_tdlas_rx_task(u8 *p_data,u16 len,void *other_data)
if( p_use_uart->relay.flag == 1)
{
p_use_uart->relay.uart->Send(p_use_uart->relay.uart,p_data,len);
p_use_uart->relay.uart->send(p_use_uart->relay.uart,p_data,len);
}
if(p_sensor->modbus_id != p_data[0])
@@ -348,7 +348,7 @@ static void proto_tdlas_rx_task(u8 *p_data,u16 len,void *other_data)
{
p_rx_valid = &p_data[6];
}
rx_uart = (bsp_Uart_t *)other_data;
rx_uart = (bsp_uart_t *)other_data;
p_sensor_sys->tx_time_out_count = 0;
p_sensor_sys->state_error_flag &= (~(0x00000001 << PROTO_TDLAS_ERROR_FLAG_TIME_OUT));

View File

@@ -4,7 +4,7 @@
#include "stdio.h"
#include "app.h"
#include "os_timer.h"
#include "app_timer.h"
#include "bsp_Uart.h"
#include "bsp_Flash.h"
@@ -33,26 +33,21 @@ proto_Modbus_t modbus_slave_ex=
};
static proto_Modbus_t *p_modbus = &modbus_slave_ex;
static bsp_Uart_t * rx_uart;
static bsp_uart_t * p_rx_uart;
static void proto_modbus_communication_data_send(u8 *pData, u16 len)
static void proto_modbus_communication_data_send(u8 *p_data, u16 len)
{
if(&COM_Uart1 == rx_uart)
if(p_rx_uart != NULL)
{
COM_Uart1.Send(&COM_Uart1,pData,len);
}
else if(&COM_Uart4 == rx_uart)
{
COM_Uart4.Send(&COM_Uart4,pData,len);
}
p_rx_uart->send(p_rx_uart,p_data,len);
}
}
static void proto_modbus_init(void)
{
p_modbus->id = Usr_Flash.FlashData.modbus_id;
COM_Uart1.Rx_DataAnalysis = proto_modbus_communication_data_analysis;
COM_Uart4.Rx_DataAnalysis = proto_modbus_communication_data_analysis;
com_uart1.rx_data_analysis = proto_modbus_communication_data_analysis;
com_uart4.rx_data_analysis = proto_modbus_communication_data_analysis;
}
static void proto_modbus_task(void)
{
@@ -82,7 +77,7 @@ static void proto_modbus_communication_data_analysis(u8 *pData, u16 len,void *ot
goto Error;
}
*/
rx_uart = (bsp_Uart_t*)other_data;
p_rx_uart = (bsp_uart_t*)other_data;
switch (modbus_analysis_data.func)
{
case 0x03: