diff --git a/App/Src/frt_protocol.c b/App/Src/frt_protocol.c index 3818e81..37d3122 100644 --- a/App/Src/frt_protocol.c +++ b/App/Src/frt_protocol.c @@ -462,6 +462,10 @@ static u_int16_t FRT_WriteRegDeviceAddr(void *pMsg) { uint16_t *pMsgAddr = (uint16_t *)pMsg; uint16_t data = *pMsgAddr; + if(data > 0xFF || data < 0x00) + { + return 0; + } g_usrConfigInfo.addr = data; save_usr_config_info(g_usrConfigInfo); @@ -477,9 +481,15 @@ static u_int16_t FRT_WriteRegCommuBaudRate(void *pMsg) { uint16_t *pMsgAddr = (uint16_t *)pMsg; uint16_t data = *pMsgAddr; + if(data != 2400 && data != 4800 && data != 9600 && data != 19200 && data != 38400) + { + return 0; + } + + //存 g_usrConfigInfo.uart_baud = data; save_usr_config_info(g_usrConfigInfo); - + //改 MX_USART3_UART_Init(g_usrConfigInfo.uart_baud); MX_USART1_UART_Init(g_usrConfigInfo.uart_baud); @@ -495,6 +505,10 @@ static u_int16_t FRT_WriteRegSpeedAverageTime(void *pMsg) { uint16_t *pMsgAddr = (uint16_t *)pMsg; uint16_t data = *pMsgAddr; + if(data > 600 || data < 1) + { + return 0; + } g_usrConfigInfo.speed_average_time = data; save_usr_config_info(g_usrConfigInfo); @@ -511,6 +525,10 @@ static u_int16_t FRT_WriteRegTempHumUpdateTime(void *pMsg) { uint16_t *pMsgAddr = (uint16_t *)pMsg; uint16_t data = *pMsgAddr; + if(data > 600 || data < 1) + { + return 0; + } g_usrConfigInfo.temp_hum_update_time = data; save_usr_config_info(g_usrConfigInfo); diff --git a/EWARM/micro_climate.ewd b/EWARM/micro_climate.ewd index c567dea..2e5c4d3 100644 --- a/EWARM/micro_climate.ewd +++ b/EWARM/micro_climate.ewd @@ -84,7 +84,7 @@